11.在C語(yǔ)言系統(tǒng)中,假設(shè)int類型數(shù)據(jù)占2個(gè)字節(jié),則double、long、unsigned int、char類型數(shù)據(jù)所占字節(jié)數(shù)分別多少【 】。
A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,1
分析:由上題知CPU字長(zhǎng)決定了分配給各種類型變量多少個(gè)字節(jié),當(dāng)int類型占2個(gè)字節(jié)時(shí),double、long、unsigned int、char型所占的字節(jié)分別為8、4、2、1個(gè)字節(jié)。
本題正確答案為D。
12.下面程序段執(zhí)行結(jié)果是【 】。
int i=5,k;
k=(++i)+(++i)+(i++);
printf("%d,%d",k,i);
A) 24,8 B) 21,8 C) 21,7 D) 24,7
分析:k=(++i)+(++i)+(i++)表達(dá)式中,"++"號(hào)在i前面的有兩個(gè),所以在計(jì)算k之前,i要先增兩次,即i變?yōu)?,然后再將3個(gè)7相加,使k得21,表達(dá)式中"++"號(hào)在i后面的有1個(gè),所以得出k的值以后i又增1次變?yōu)?。
本題正確答案為B。
13.下面程序段執(zhí)行結(jié)果是【 】。
int i=5;
printf("%d,%d,%d", i,(++i)+(++i)+(i++),i);
A) 8,20,5 B) 8,21,5 C) 5,20,8 D) 5,21,8
分析:此題不能看作將12題中的k=(++i)+(++i)+(i++)代入printf函數(shù),因?yàn)楹瘮?shù)處理參數(shù)的順序是從右向左,所以(++i)+(++i)+(i++)表達(dá)式的值不再是求7+7+7,而是為8+7+5=20。
本題正確答案為A。
14.下面程序段的輸出結(jié)果是【 】。
int i=32769;
printf("%d\\n",i);
A) 32769 B) 32767 C) -32767 D) 輸出不是確定的數(shù)
分析:int型變量表示數(shù)據(jù)的范圍是-32768~+32767,賦值時(shí)比-32768小或比+32767大,都會(huì)發(fā)生溢出,溢出后存放的數(shù)值是:正向溢出時(shí),為該數(shù)減去模65536,負(fù)向溢出時(shí),為該數(shù)加上模65536,所以本題輸出為32769-65536=-32767。
本題正確答案為C。
15.下面的程序運(yùn)行后輸出為【 】。
main( )
{ int a=-32769;
ptintf("%8U\\n",a);
}
A) 32769 B) %8U C) 32767 D) -32767
分析:格式字符必須小寫,題中的"%8U"不會(huì)當(dāng)作格式控制符,而是原樣輸出,變量a將沒(méi)有對(duì)應(yīng)的格式說(shuō)明,也不會(huì)送出。
本題正確答案為B。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |