69.關(guān)于帶參數(shù)的主函數(shù),下列說法中錯誤的是( )
A.帶參數(shù)的主函數(shù)中,形式參數(shù)名稱是系統(tǒng)規(guī)定的,用戶不能自己選擇
B.帶參數(shù)的主函數(shù)中,第1個形式參數(shù)是int型的
C.帶參數(shù)的主函數(shù)中,第2個形式參數(shù)是字符型數(shù)組
D.帶參數(shù)的主函數(shù)中,實(shí)際參數(shù)值只能在執(zhí)行程序的命令行中獲得
【解析】帶參數(shù)的主函數(shù)定義格式是系統(tǒng)規(guī)定的,具體如下:
main(argc,argv);
int argc;
char *argv[];
{...
}
由此看出,第2個形式參數(shù)argv是指向字符型數(shù)據(jù)的指針型數(shù)組,不是字符型數(shù)組所以備選答案 C是錯誤的,本題應(yīng)選答案C。
【參考答案】C
70.執(zhí)行下列程序后的輸出結(jié)果是( )
#define M(a,b)(a)>(b)?(a):(b)
main()
{ int i=10,i=15; printf("%d\n",10*M(i,j)); }
A.10
B.15
C.100
D .150
【解析】本題要輸出的表達(dá)式是“10*M(i,j)”,其中的“M(i,j)”是帶參數(shù)的宏調(diào)用,宏替換后,表達(dá)式的結(jié)果是“10*(i)>(j)?(i):(j)”,而變量i值為10、變量j值為15,帶入整個要輸出的表達(dá)式后結(jié)果是“10*(10)>(15)?(10):(15)”,,其中的條件“10*10>15”是成立的,結(jié)果等于10。所以本題答案應(yīng)選A
【參考答案】A
71.執(zhí)行下列程序后的輸出結(jié)果是( )
int fun(int x1,int x2)
{ int x;x1>x2?(x=3):(x=4);return(x+x1); }
main()
{ printf("%d\n",fun( 7,8));}
A.9
B.10
C.11
D.12
【解析】本程序的輸出是函數(shù)調(diào)用“fun(7,8)”的返回值。分析函數(shù)調(diào)用“fun(7,8)”的過程如下:將實(shí)參7傳給形參x1,實(shí)參8傳給形參x2,然后執(zhí)行函數(shù)體。由于x1>x2的條件不成立,所以執(zhí)行“:”號后的賦值表達(dá)式:x=4。返回語句中的表達(dá)式是“x+x1”,返回值是:4+7=11。所以本題答案應(yīng)選C.
【參考答案】C
72.下列程序段的輸出是( )
typedef union{ long x[2];
short y[4][5];
char z[10];
。齌YPE1;
TYPE1 u1;
printf("%d\n", sizeof(u1));
A.8
B.10
C.40
D.58
【解析】程序的開始用“typedef"定義了用戶自定義數(shù)據(jù)類型符“TYPE1”,這個用戶自定義的數(shù)據(jù)類型符對應(yīng)的是一個共用型。然后使用"TYPE1",定義了共用型變量u1,本段程序的輸出就是這個共用型變量所占用的字書數(shù)。共用型變量占用的字節(jié)數(shù)就是其成員中占用字節(jié)數(shù)最多的成員占用的字節(jié)數(shù)。分析這個共用型的成員有3個:第1個成員是長整型數(shù)組,占用字節(jié)數(shù)為4*2=8;第2個成員是短整型數(shù)組,占用字節(jié)數(shù)為2*4*5=40;第3個成員是字符型數(shù)組,占用的字節(jié)數(shù)為1*10=10。其中占用字節(jié)數(shù)最多的成員是第2個成員,其占用的字節(jié)數(shù)等于40。所以本題答案應(yīng)選C。
【參考答案】C
73.不屬于C語言保留字的是( )
A.for
B.goto
C.if
D.loop
【解析】關(guān)于保留字教材中有明確規(guī)定。顯然for、goto、if都是組成語句的專用語句成份,都
是保留字。本題答案應(yīng)選D。
【參考答案】 D
74.正確的C語言標(biāo)識符是( )
A.num(10)
B.file bak
C.continue
D.class+2
【解析】標(biāo)識符是字母、下劃線開頭的字母、數(shù)字、下劃線組成的一串字符,而且不能是保留字。本題的4個備選答案中,只有答案B符合這個規(guī)定。本題答案應(yīng)選B。
【參考答案】 B
75.設(shè)有定義語句“double d1,d2;”,則表達(dá)式“d1=1,d2=d1+5/2”的值是( )
A.1
B.3
C.3.0
D.3.5
【解析】C語言規(guī)定,逗號表達(dá)式的計(jì)算是自左向右進(jìn)行的,表達(dá)式的值等于右邊表達(dá)式的值,因此,本題的答案應(yīng)為表達(dá)式"d2=d1+5/2"的值。該表達(dá)式是賦值表達(dá)式,所以其值是賦予變量d2的值,也就是表達(dá)式"d1+5/2"的結(jié)果。計(jì)算時,需要先算"5/2",結(jié)果為整數(shù)2,再和double型的d1相加,結(jié)果是實(shí)數(shù)3.0。所以本題答案應(yīng)選C
【參考答案】 C
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |