C-Sprache – Tägliche Multiple-Choice-Fragen – Tag61

Blogs zum Thema Zeiger

Die erste Aufnahme von Zeiger: Zeigerfamilie-CSDN-Blog

Vertiefendes Verständnis: Dereferenzierung und Hinzufügung von Zeigervariablen – CSDN-Blog

erste Frage

1. Der Inhalt, auf den der folgende Zeiger zeigt, kann geändert werden ()

A:const int* a

B:int const* b

C:int* const c

D: const int* const d

Antwort und Analyse  C

const befindet sich auf der linken Seite von * und der Inhalt, auf den der Zeiger zeigt, kann nicht geändert werden.

const auf der rechten Seite von *, der Zeiger selbst kann nicht geändert werden

Frage 2

2. Angenommen, die Variablen a und b sind beide Ganzzahlen und der Ausdruckswert ist ()

(a = 5, b = 2, a > b ? a++ : b++, a + b)

A:7

B: 8

C:9

D:2

Antwort und Analyse  B

        Diese Frage untersucht einen Komma-Ausdruck. Der Komma-Ausdruck muss das Ergebnis jedes Ausdrucks nacheinander berechnen, aber das Ergebnis des Komma-Ausdrucks ist das Ergebnis des Ausdrucks nach dem letzten Komma. Der Grund für die sequentielle Auswertung liegt darin, dass die vorherigen Ausdrücke das Ergebnis des letzten Ausdrucks beeinflussen.

Frage 3

3. Das Ausgabeergebnis des folgenden Programms ist ( )

#include <stdio.h>
int main() 
{
    unsigned char a = 235;
    unsigned char b = ~a;
    unsigned char c = b >> 1;
    printf(“%d”, c);
}

A:6

B:2

C:4

D:10

Antwort und  AnalyseD 

        Diese Frage untersucht Bitoperationen an vorzeichenlosen Zahlen. Zunächst müssen Sie wissen, dass das höchste Bit des Binärbits einer vorzeichenlosen Zahl das numerische Bit und nicht das Vorzeichenbit ist. Zweitens hat der Char-Typ 1 Byte und 8 Bit;

a:1 1 1 0 1 0 1 1

b: 0 0 0 1 0 1 0 0

c: 0 0 0 0 1 0 1 0

c = 10

Frage 4

4. Mit den folgenden Definitionen, welche Ausdrücke der folgenden Optionen vom Compiler verboten werden () [Mehrfachauswahl]

int a = 248, b = 4;
int const c = 21;
const int *d = &a; 
int *const e = &b;
int const * const f = &a; 

A:*c=32

B:*d=43

C:e=&a

D:f=0x321f

E:d=&b

F:*e=34

Antworten und Analyse  ABCD

const befindet sich auf der linken Seite von * und der Inhalt, auf den der Zeiger zeigt, kann nicht geändert werden.

const auf der rechten Seite von *, der Zeiger selbst kann nicht geändert werden

Frage 5

5. Die Ausgabe des folgenden Programms ist ()

#include <stdio.h>
struct HAR 
{
    int x,y;
    struct HAR *p;
} h[2];
int main()
{
    h[0].x = 1;
    h[0].y = 2;
    h[1].x = 3;
    h[1].y = 4;
    h[0].p = &h[1];
    h[1].p = h;
    printf("%d,%d \n", (h[0].p)->x, (h[1].p)->y);
}

A: 1,2

B:2,3

C: 1,4

D:3,2

Antwort und  AnalyseD

Dies ist ein Array von Strukturen, denen dann nacheinander Werte zugewiesen werden. Das Ergebnis ist wie folgt:

Zugriff in der Ausgabeanweisung:

Supongo que te gusta

Origin blog.csdn.net/2302_76941579/article/details/135162035
Recomendado
Clasificación