76.設(shè)有定義“int x=8,y,z;”,則執(zhí)行“y=z=x++,x=y==z;”后,變量x值是( )
A.0
B.1
C.8
D.9
【解析】這是逗號(hào)表達(dá)式組成的語句,要先計(jì)算“y=z=x++”,結(jié)果變量y和z的值均為8。注意++是后綴運(yùn)算符,同時(shí)x等于9。再計(jì)算“x=y==z”,由于“==”優(yōu)先于“=”,所以x的值等于“y==z”,而y和z值相等,所以運(yùn)算結(jié)果為1,即x值為1。本題答案應(yīng)選B。
【參考答案】 B
77.設(shè)有“int a=1,b=1;”,“printf("%d,%d",(a++,--b),b-1);”的輸出是( )
A.1,-1
B.1,0
C.0,-1
D.0,0
【解析】printf()函數(shù)的功能是自右向左依次計(jì)算表達(dá)式的值,然后再按照自左向右的順序輸出各個(gè)表達(dá)式的值,所以題目中輸出語句執(zhí)行時(shí),是依次計(jì)算下列兩個(gè)表達(dá)式的值:
b-1 結(jié)果為0,注意變量b值不變;
(a++,--b)這是逗號(hào)表達(dá)式,先計(jì)算a++,結(jié)果變量a值為2;
再計(jì)算--b,結(jié)果變量b值為0;
整個(gè)逗號(hào)表達(dá)式的值就是--b的值,為0。
按照自左向右的順序輸出(a++,--b)和b-1的值,依次為0,0。本題答案應(yīng)選D。
【參考答案】D
78.設(shè)有定義語句“char s[]="123";”,則表達(dá)式“s[3]”的值是 ( )
A.’1’
B.’3’
C.0
D.語法出錯(cuò)
【解析】字符數(shù)組s在定義時(shí)省略了數(shù)組長(zhǎng)度,表示給每個(gè)數(shù)組元素均賦了初值。對(duì)本題來說,數(shù)組的長(zhǎng)度為4;數(shù)組元素的值依次為:S[0]為'1'。S[1」為'2'。S[2]為'3'、S[3]為字符率結(jié)束標(biāo)記符'\0',所以“s[3]”的值是'\0'。注意,這個(gè)字符的 ASCII代碼值是整數(shù) 0,所以本題答案應(yīng)選C。
【參考答案】 C
79.定義一個(gè)具有10個(gè)元素的整型數(shù)組,應(yīng)當(dāng)使用語句( )
A.int a[10];
B.int a[2,5];
C.int a[];
D.int *a[10];
【解析】分析備選答案 A:顯然是正確的,本題答案應(yīng)選 A。至于備選答案 B:其中的“[2,5]”在語法上是錯(cuò)誤的;備選答案C:數(shù)組沒有給初值而省略了數(shù)組長(zhǎng)度,語法上也是錯(cuò)誤的;備選答案D:定義的是具有10個(gè)元素的。指向整型數(shù)據(jù)的指針型數(shù)組。
【參考答案】A
80.設(shè)指針變量p1、 p2已經(jīng)指向同一個(gè)數(shù)組的元素,則下列表達(dá)式中錯(cuò)誤的是( )
A.p1=p2
B.p1==p2
C.p1-p2
D.p1+p2
【解析】教材中關(guān)于指向同一個(gè)數(shù)組的元素的指針變量之間可以進(jìn)行的運(yùn)算有如下的規(guī)定:可以進(jìn)行關(guān)系運(yùn)算、賦值運(yùn)算、減法運(yùn)算,所以本題答案應(yīng)選D。
【參考答案】D
81.設(shè)有定義語句“int a[]={2, 4,6,8,10},*p=s;”,則值為8的表達(dá)式是( )
A.*p+3
B.*p+4
C.*(p+4)
D.*(s+3)
【解析】分析四個(gè)備選答案,可以看出是用指針法來引用數(shù)組a的元素。當(dāng)指針變量p已經(jīng)指向數(shù)組。的首地址后(正如本題那樣),*(p+i)和*(s+i)都是數(shù)組元素a[i]。對(duì)于備選答案A:*p就是數(shù)組元素。a[0],其值為2,再加3結(jié)果為5,不符合題意。同樣道理,備選答案B中的*p十4的值為6,也不符合題意。對(duì)于備選答案C:*(p+4)代表數(shù)組元素a[4],其值為10,也不符合題意。顯然本題答案應(yīng)選D。因?yàn)?(s+3)就是數(shù)組元素s[3],其值為8。
【參考答案】 D
82.下列數(shù)據(jù)類型中不屬于構(gòu)造類型的是 ( )
A.數(shù)組型
B.結(jié)構(gòu)型
C.共用型
D.枚舉型
【解析】教材中明確指出:構(gòu)造類型只包括:數(shù)組型、結(jié)構(gòu)型。共用型三種,所以本題答案應(yīng)選D。
【參考答案】D
83.函數(shù)fopen()的返回值不能是( )
A.NULL
B.0
C.1
D.某個(gè)內(nèi)存地址
【解析】函數(shù)fope()的返回值有兩種可能:一是正確打開了文件,將返回某個(gè)地址,程序中一般是用文件型指針變量來接受的;二是打開文件時(shí)出現(xiàn)錯(cuò)誤,此時(shí)返回值是符號(hào)常量“NULL”,其值為0。所以本題答案應(yīng)選C。
【參考答案】C
84.以只寫方式打開一個(gè)二進(jìn)制文件,應(yīng)選擇的文件操作方式是( )
A."a+"
B."w+"
C."rb"
D."Wb"
【解析】打開文件時(shí),如果是“只寫方式”,則只能選用字符“ w”;如果要打開的文件是二進(jìn)制文件,則需要選用字符“b”,所以本題答案應(yīng)選 D。
【參考答案】 D
85.設(shè)有定義語句“char ch='\77';”,則下列說法中正確的是( )
A.ch中含有1個(gè)字符
B.ch中含有2個(gè)字符
C.ch中含有3個(gè)字符
D.語法出錯(cuò)
【解析】從定義語句中可以看出,變量ch是字符型變量,顯然只能存放單個(gè)字符,所以備選答案B和C是錯(cuò)誤的說法。再分析賦予的初值,'\77'是在“\”符號(hào)的后面跟有2位的人進(jìn)制數(shù),所以'\77'是轉(zhuǎn)義字符,轉(zhuǎn)義字符是單個(gè)字符,所以本題答案應(yīng)選A。
【參考答案】 A
86.設(shè)有函數(shù)調(diào)用語句“f(x1,x1+x2,(x1,x2));”,正確的說法是( )
A.調(diào)用的實(shí)際參數(shù)是2個(gè)
B.調(diào)用的實(shí)際參數(shù)是3個(gè)
C.調(diào)用的實(shí)際參數(shù)是4個(gè)
D.調(diào)用時(shí)會(huì)出現(xiàn)語法錯(cuò)誤。
【解析】對(duì)函數(shù)調(diào)用來說,實(shí)際參數(shù)一般都是表達(dá)式,而表達(dá)式之間必須用逗號(hào)來分隔,所以只要區(qū)分調(diào)用時(shí)的表達(dá)式數(shù)目,即是實(shí)妹參數(shù)的數(shù)目。對(duì)本題來說,第1個(gè)表達(dá)式是“x1”、第2個(gè)表達(dá)式是“x1+x2”、第3個(gè)表達(dá)式是一個(gè)逗號(hào)表達(dá)式“x1,x2”,所以本題的函數(shù)調(diào)用時(shí),表達(dá)式的數(shù)目為3,當(dāng)然實(shí)際參數(shù)的數(shù)目就是3,所以本題答案應(yīng)選B。
【參考答案】B
87.計(jì)算平方數(shù)時(shí)不可能引起二義性的宏定義是( )
A.#define SOR(x)x*x
B.#define SQR(x)(x)*(x)
C.# define SQR(x)(x*x)
D.# define SQR(x)((x)*(x))
【解析】分析備選答案A:如果宏引用是“SQR(2+3)”,則宏替換后的結(jié)果是“2+3*2+3”,結(jié)果是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。分析備選答案B:如果宏引用是“ 3/SQR(2+3)”,則宏替換后的結(jié)果是“3/(2+3)*(2+3)”,結(jié)果也是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。分析備選答案C:如果宏引用是“SQR(2+3)”,則宏替換后的結(jié)果是“(2+3*2+3)”,結(jié)果也是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。只有備選答案D不會(huì)引起二義性。所以本題答案應(yīng)選D。
【參考答案】D
88.執(zhí)行下列程序段后,x的位是( )
int a=8,b=7,c=6,x=1;
if(a>6)if(b>7)if(c>8)x=2;else x=3;
A.0
B.1
C.2
D.3
【解析】按照"else"只和前面最近的"if"配對(duì)的原則,上述程序段可以寫成下列更為清晰的程序清單:
int a=8,b=7,c=6,x=1;
if(a>6)
if(b>7)
if(c>8)
x= 2:
else
x=3:
依據(jù)a、b、c的值,很容易看出第1個(gè)“if語句”的條件“a>6”是成立的,接著執(zhí)行第2個(gè)“if語句”,該語句的條件“b>7”,是不成立的,所以下面的“if-esle”語句不執(zhí)行,因此x的值不變,仍為1。所以本題答案應(yīng)選B。
【參考答案】B
89.執(zhí)行下列程序段后,變量y的值為( )
int x[]={1,2,3,4},y,*p=&x[1];
y=(*--P)++;
A.1
B.2
C.3
D.4
【解析】從數(shù)據(jù)定義語句中可以得出下列結(jié)論:指針變量P指向的數(shù)組元素是x[1]。再來分析賦值句的右邊表達(dá)式“(*--p)++”,其中的“--”優(yōu)先于“*”先計(jì)算“--p”,使得p指向數(shù)組元素x[0];所以“(*--p)”就是數(shù)組元素a[0],再計(jì)算其后的“++”,由于“++”是后綴,所以表達(dá)式的值就是數(shù)組元素x[0]的值,為1,然后再對(duì)數(shù)組元素x[0]加1。因此變量y的值是1。本題答案應(yīng)選A。
【參考答案】A
90.能正確表達(dá)邏輯關(guān)系“-1
A.(-1
B.(-1
C.((-1
D.(-1
【解析】注意數(shù)學(xué)中的“-1
【參考答案】 D
91.函數(shù)調(diào)用時(shí),下列說法中不正確的是 ( )
A.若用值傳遞方式,則形式參數(shù)不予分配內(nèi)存
B.實(shí)際參數(shù)和形式參數(shù)可以同名
C.主調(diào)函數(shù)和被調(diào)用函數(shù)可以不在同一個(gè)文件中
D.函數(shù)間傳送數(shù)據(jù)可以使用外部全局變量
【解析】分析備選答案A:值傳遞時(shí),先給形參分配內(nèi)存,然后把實(shí)參值傳給形參分配的內(nèi)存,所以該說法是錯(cuò)誤的,本題答案應(yīng)選A。至于備選答案B:形參和實(shí)參是可以同名的,因?yàn)樗鼈兊淖饔糜虿恢貜?fù)。備選答案C:只要被調(diào)函數(shù)定義時(shí)的存儲(chǔ)類型選取“extern”,就可以被其他文件中的函數(shù)調(diào)用。備選答案D:函數(shù)間傳遞數(shù)據(jù)的方法有4種,其中的一種就是利用外部全局變量來傳遞的。
【參考答案】 A
92.下列關(guān)于結(jié)構(gòu)型變量的定義語句中,錯(cuò)誤的是( )
A. typedef struct CCC
B. #define GGG struct
{ char name[20];GGG CCC { char name[20];
int age; int age;
}GGG; };
GGG abc ; GGG CCC abc;
C.struct
D.struct
{ char name[20]; { char name[20];
int age; int age;
}ccc; }abc;
CCC abc;
【解析】分析備選答案 A:利用“typedef”定義了用戶自定義的數(shù)據(jù)類型符“GGG”,這個(gè)用戶自定義的數(shù)據(jù)類型符是含有兩個(gè)成員的結(jié)構(gòu)型 CCC,所以語句“GGG abc”是定義結(jié)構(gòu)型CCC的變量abc,語法沒有錯(cuò)誤。分析備選答案B:利用“#define”定義了宏名“GGG”,這個(gè)宏名第一次出現(xiàn)是定義結(jié)構(gòu)型CCC,第二次是定義了結(jié)構(gòu)型CCC的變量allc,所以語法上沒有錯(cuò)誤。分析備選答案C:這是定義一個(gè)沒有名稱的結(jié)構(gòu)型,同時(shí)定義了這種結(jié)構(gòu)型的變量CCC,接著的語句“CCC abc;”顯然是錯(cuò)誤的,因?yàn)镃CC是變量名,不是數(shù)據(jù)類型符,該答案符合題意。至于備選答案D:這是標(biāo)準(zhǔn)的通過定義沒有名稱的結(jié)構(gòu)型來定義該結(jié)構(gòu)型的變量abc,語法上沒有錯(cuò)誤。
【參考答案】C
A.0
B.1
C.8
D.9
【解析】這是逗號(hào)表達(dá)式組成的語句,要先計(jì)算“y=z=x++”,結(jié)果變量y和z的值均為8。注意++是后綴運(yùn)算符,同時(shí)x等于9。再計(jì)算“x=y==z”,由于“==”優(yōu)先于“=”,所以x的值等于“y==z”,而y和z值相等,所以運(yùn)算結(jié)果為1,即x值為1。本題答案應(yīng)選B。
【參考答案】 B
77.設(shè)有“int a=1,b=1;”,“printf("%d,%d",(a++,--b),b-1);”的輸出是( )
A.1,-1
B.1,0
C.0,-1
D.0,0
【解析】printf()函數(shù)的功能是自右向左依次計(jì)算表達(dá)式的值,然后再按照自左向右的順序輸出各個(gè)表達(dá)式的值,所以題目中輸出語句執(zhí)行時(shí),是依次計(jì)算下列兩個(gè)表達(dá)式的值:
b-1 結(jié)果為0,注意變量b值不變;
(a++,--b)這是逗號(hào)表達(dá)式,先計(jì)算a++,結(jié)果變量a值為2;
再計(jì)算--b,結(jié)果變量b值為0;
整個(gè)逗號(hào)表達(dá)式的值就是--b的值,為0。
按照自左向右的順序輸出(a++,--b)和b-1的值,依次為0,0。本題答案應(yīng)選D。
【參考答案】D
78.設(shè)有定義語句“char s[]="123";”,則表達(dá)式“s[3]”的值是 ( )
A.’1’
B.’3’
C.0
D.語法出錯(cuò)
【解析】字符數(shù)組s在定義時(shí)省略了數(shù)組長(zhǎng)度,表示給每個(gè)數(shù)組元素均賦了初值。對(duì)本題來說,數(shù)組的長(zhǎng)度為4;數(shù)組元素的值依次為:S[0]為'1'。S[1」為'2'。S[2]為'3'、S[3]為字符率結(jié)束標(biāo)記符'\0',所以“s[3]”的值是'\0'。注意,這個(gè)字符的 ASCII代碼值是整數(shù) 0,所以本題答案應(yīng)選C。
【參考答案】 C
79.定義一個(gè)具有10個(gè)元素的整型數(shù)組,應(yīng)當(dāng)使用語句( )
A.int a[10];
B.int a[2,5];
C.int a[];
D.int *a[10];
【解析】分析備選答案 A:顯然是正確的,本題答案應(yīng)選 A。至于備選答案 B:其中的“[2,5]”在語法上是錯(cuò)誤的;備選答案C:數(shù)組沒有給初值而省略了數(shù)組長(zhǎng)度,語法上也是錯(cuò)誤的;備選答案D:定義的是具有10個(gè)元素的。指向整型數(shù)據(jù)的指針型數(shù)組。
【參考答案】A
80.設(shè)指針變量p1、 p2已經(jīng)指向同一個(gè)數(shù)組的元素,則下列表達(dá)式中錯(cuò)誤的是( )
A.p1=p2
B.p1==p2
C.p1-p2
D.p1+p2
【解析】教材中關(guān)于指向同一個(gè)數(shù)組的元素的指針變量之間可以進(jìn)行的運(yùn)算有如下的規(guī)定:可以進(jìn)行關(guān)系運(yùn)算、賦值運(yùn)算、減法運(yùn)算,所以本題答案應(yīng)選D。
【參考答案】D
81.設(shè)有定義語句“int a[]={2, 4,6,8,10},*p=s;”,則值為8的表達(dá)式是( )
A.*p+3
B.*p+4
C.*(p+4)
D.*(s+3)
【解析】分析四個(gè)備選答案,可以看出是用指針法來引用數(shù)組a的元素。當(dāng)指針變量p已經(jīng)指向數(shù)組。的首地址后(正如本題那樣),*(p+i)和*(s+i)都是數(shù)組元素a[i]。對(duì)于備選答案A:*p就是數(shù)組元素。a[0],其值為2,再加3結(jié)果為5,不符合題意。同樣道理,備選答案B中的*p十4的值為6,也不符合題意。對(duì)于備選答案C:*(p+4)代表數(shù)組元素a[4],其值為10,也不符合題意。顯然本題答案應(yīng)選D。因?yàn)?(s+3)就是數(shù)組元素s[3],其值為8。
【參考答案】 D
82.下列數(shù)據(jù)類型中不屬于構(gòu)造類型的是 ( )
A.數(shù)組型
B.結(jié)構(gòu)型
C.共用型
D.枚舉型
【解析】教材中明確指出:構(gòu)造類型只包括:數(shù)組型、結(jié)構(gòu)型。共用型三種,所以本題答案應(yīng)選D。
【參考答案】D
83.函數(shù)fopen()的返回值不能是( )
A.NULL
B.0
C.1
D.某個(gè)內(nèi)存地址
【解析】函數(shù)fope()的返回值有兩種可能:一是正確打開了文件,將返回某個(gè)地址,程序中一般是用文件型指針變量來接受的;二是打開文件時(shí)出現(xiàn)錯(cuò)誤,此時(shí)返回值是符號(hào)常量“NULL”,其值為0。所以本題答案應(yīng)選C。
【參考答案】C
84.以只寫方式打開一個(gè)二進(jìn)制文件,應(yīng)選擇的文件操作方式是( )
A."a+"
B."w+"
C."rb"
D."Wb"
【解析】打開文件時(shí),如果是“只寫方式”,則只能選用字符“ w”;如果要打開的文件是二進(jìn)制文件,則需要選用字符“b”,所以本題答案應(yīng)選 D。
【參考答案】 D
85.設(shè)有定義語句“char ch='\77';”,則下列說法中正確的是( )
A.ch中含有1個(gè)字符
B.ch中含有2個(gè)字符
C.ch中含有3個(gè)字符
D.語法出錯(cuò)
【解析】從定義語句中可以看出,變量ch是字符型變量,顯然只能存放單個(gè)字符,所以備選答案B和C是錯(cuò)誤的說法。再分析賦予的初值,'\77'是在“\”符號(hào)的后面跟有2位的人進(jìn)制數(shù),所以'\77'是轉(zhuǎn)義字符,轉(zhuǎn)義字符是單個(gè)字符,所以本題答案應(yīng)選A。
【參考答案】 A
86.設(shè)有函數(shù)調(diào)用語句“f(x1,x1+x2,(x1,x2));”,正確的說法是( )
A.調(diào)用的實(shí)際參數(shù)是2個(gè)
B.調(diào)用的實(shí)際參數(shù)是3個(gè)
C.調(diào)用的實(shí)際參數(shù)是4個(gè)
D.調(diào)用時(shí)會(huì)出現(xiàn)語法錯(cuò)誤。
【解析】對(duì)函數(shù)調(diào)用來說,實(shí)際參數(shù)一般都是表達(dá)式,而表達(dá)式之間必須用逗號(hào)來分隔,所以只要區(qū)分調(diào)用時(shí)的表達(dá)式數(shù)目,即是實(shí)妹參數(shù)的數(shù)目。對(duì)本題來說,第1個(gè)表達(dá)式是“x1”、第2個(gè)表達(dá)式是“x1+x2”、第3個(gè)表達(dá)式是一個(gè)逗號(hào)表達(dá)式“x1,x2”,所以本題的函數(shù)調(diào)用時(shí),表達(dá)式的數(shù)目為3,當(dāng)然實(shí)際參數(shù)的數(shù)目就是3,所以本題答案應(yīng)選B。
【參考答案】B
87.計(jì)算平方數(shù)時(shí)不可能引起二義性的宏定義是( )
A.#define SOR(x)x*x
B.#define SQR(x)(x)*(x)
C.# define SQR(x)(x*x)
D.# define SQR(x)((x)*(x))
【解析】分析備選答案A:如果宏引用是“SQR(2+3)”,則宏替換后的結(jié)果是“2+3*2+3”,結(jié)果是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。分析備選答案B:如果宏引用是“ 3/SQR(2+3)”,則宏替換后的結(jié)果是“3/(2+3)*(2+3)”,結(jié)果也是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。分析備選答案C:如果宏引用是“SQR(2+3)”,則宏替換后的結(jié)果是“(2+3*2+3)”,結(jié)果也是錯(cuò)誤的,因此這個(gè)答案可能引起二義性。只有備選答案D不會(huì)引起二義性。所以本題答案應(yīng)選D。
【參考答案】D
88.執(zhí)行下列程序段后,x的位是( )
int a=8,b=7,c=6,x=1;
if(a>6)if(b>7)if(c>8)x=2;else x=3;
A.0
B.1
C.2
D.3
【解析】按照"else"只和前面最近的"if"配對(duì)的原則,上述程序段可以寫成下列更為清晰的程序清單:
int a=8,b=7,c=6,x=1;
if(a>6)
if(b>7)
if(c>8)
x= 2:
else
x=3:
依據(jù)a、b、c的值,很容易看出第1個(gè)“if語句”的條件“a>6”是成立的,接著執(zhí)行第2個(gè)“if語句”,該語句的條件“b>7”,是不成立的,所以下面的“if-esle”語句不執(zhí)行,因此x的值不變,仍為1。所以本題答案應(yīng)選B。
【參考答案】B
89.執(zhí)行下列程序段后,變量y的值為( )
int x[]={1,2,3,4},y,*p=&x[1];
y=(*--P)++;
A.1
B.2
C.3
D.4
【解析】從數(shù)據(jù)定義語句中可以得出下列結(jié)論:指針變量P指向的數(shù)組元素是x[1]。再來分析賦值句的右邊表達(dá)式“(*--p)++”,其中的“--”優(yōu)先于“*”先計(jì)算“--p”,使得p指向數(shù)組元素x[0];所以“(*--p)”就是數(shù)組元素a[0],再計(jì)算其后的“++”,由于“++”是后綴,所以表達(dá)式的值就是數(shù)組元素x[0]的值,為1,然后再對(duì)數(shù)組元素x[0]加1。因此變量y的值是1。本題答案應(yīng)選A。
【參考答案】A
90.能正確表達(dá)邏輯關(guān)系“-1
A.(-1
B.(-1
C.((-1
D.(-1
【解析】注意數(shù)學(xué)中的“-1
【參考答案】 D
91.函數(shù)調(diào)用時(shí),下列說法中不正確的是 ( )
A.若用值傳遞方式,則形式參數(shù)不予分配內(nèi)存
B.實(shí)際參數(shù)和形式參數(shù)可以同名
C.主調(diào)函數(shù)和被調(diào)用函數(shù)可以不在同一個(gè)文件中
D.函數(shù)間傳送數(shù)據(jù)可以使用外部全局變量
【解析】分析備選答案A:值傳遞時(shí),先給形參分配內(nèi)存,然后把實(shí)參值傳給形參分配的內(nèi)存,所以該說法是錯(cuò)誤的,本題答案應(yīng)選A。至于備選答案B:形參和實(shí)參是可以同名的,因?yàn)樗鼈兊淖饔糜虿恢貜?fù)。備選答案C:只要被調(diào)函數(shù)定義時(shí)的存儲(chǔ)類型選取“extern”,就可以被其他文件中的函數(shù)調(diào)用。備選答案D:函數(shù)間傳遞數(shù)據(jù)的方法有4種,其中的一種就是利用外部全局變量來傳遞的。
【參考答案】 A
92.下列關(guān)于結(jié)構(gòu)型變量的定義語句中,錯(cuò)誤的是( )
A. typedef struct CCC
B. #define GGG struct
{ char name[20];GGG CCC { char name[20];
int age; int age;
}GGG; };
GGG abc ; GGG CCC abc;
C.struct
D.struct
{ char name[20]; { char name[20];
int age; int age;
}ccc; }abc;
CCC abc;
【解析】分析備選答案 A:利用“typedef”定義了用戶自定義的數(shù)據(jù)類型符“GGG”,這個(gè)用戶自定義的數(shù)據(jù)類型符是含有兩個(gè)成員的結(jié)構(gòu)型 CCC,所以語句“GGG abc”是定義結(jié)構(gòu)型CCC的變量abc,語法沒有錯(cuò)誤。分析備選答案B:利用“#define”定義了宏名“GGG”,這個(gè)宏名第一次出現(xiàn)是定義結(jié)構(gòu)型CCC,第二次是定義了結(jié)構(gòu)型CCC的變量allc,所以語法上沒有錯(cuò)誤。分析備選答案C:這是定義一個(gè)沒有名稱的結(jié)構(gòu)型,同時(shí)定義了這種結(jié)構(gòu)型的變量CCC,接著的語句“CCC abc;”顯然是錯(cuò)誤的,因?yàn)镃CC是變量名,不是數(shù)據(jù)類型符,該答案符合題意。至于備選答案D:這是標(biāo)準(zhǔn)的通過定義沒有名稱的結(jié)構(gòu)型來定義該結(jié)構(gòu)型的變量abc,語法上沒有錯(cuò)誤。
【參考答案】C