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ù)組長度,表示給每個(gè)數(shù)組元素均賦了初值。對(duì)本題來說,數(shù)組的長度為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
相關(guān)推薦:計(jì)算機(jī)軟考程序員備考:程序設(shè)計(jì)知識(shí)點(diǎn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |