(16)D
【解析】 在A(yíng)NSI標(biāo)準(zhǔn)中,long、int和short分別占用4、2和2個(gè)字節(jié)。但實(shí)際上對(duì)于某些C編譯系統(tǒng),int和short都占用4個(gè)字節(jié),所以說(shuō)各種類(lèi)型數(shù)據(jù)占用內(nèi)存大小是由選擇何種C編譯系統(tǒng)決定的。
(17)B
【解析】 本題考查通過(guò)scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問(wèn)題。變量j的格式控制為"%2d",即只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。
(18)B
【解析】 對(duì)于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值"0,",再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時(shí)變量i的值經(jīng)過(guò)自加已經(jīng)變?yōu)?,程序再次輸出i的值"1"。
(19)D
【解析】 if…else語(yǔ)句的執(zhí)行過(guò)程如下,首先計(jì)算if后面一對(duì)圓括號(hào)內(nèi)表達(dá)式的值,若表達(dá)式的值為非0,執(zhí)行if子句,然后跳過(guò)else子句,去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句;若表達(dá)式的值為0,跳過(guò)if子句,去執(zhí)行else子句,接著去執(zhí)行if語(yǔ)句后的下一條語(yǔ)句。C語(yǔ)言的語(yǔ)法規(guī)定,else子句總是與前面最近的不帶else的if匹配,與書(shū)寫(xiě)格式無(wú)關(guān),本題目的后一個(gè)if-else相當(dāng)于嵌套在第一個(gè)if子句里,相當(dāng)于x
(20)A
【解析】 本題主要考查switch語(yǔ)句的使用方法。switch語(yǔ)句的執(zhí)行過(guò)程為:進(jìn)入switch結(jié)構(gòu)后,對(duì)條件表達(dá)式進(jìn)行運(yùn)算,然后從上至下去找與條件表達(dá)式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語(yǔ)句,直到遇到break語(yǔ)句,則跳出switch語(yǔ)句,如果各case都不匹配時(shí),則執(zhí)行default后面的語(yǔ)句。
(21)A
【解析】 本題考查用于多分支選擇的switch語(yǔ)句, 其一般形式為:
switch(表達(dá)式)
{
case常量表達(dá)式1: 語(yǔ)句1;
case常量表達(dá)式2: 語(yǔ)句2;
…
case常量表達(dá)式n: 語(yǔ)句n;
default : 語(yǔ)句n+1;
}
其語(yǔ)義是:計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式值進(jìn)行比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語(yǔ)句,然后不再進(jìn)行判斷,繼續(xù)執(zhí)行后面所有 case后的語(yǔ)句;如表達(dá)式的值與所有case后的常量表達(dá)式均不相等時(shí),則執(zhí)行default后的語(yǔ)句。
(22)D
【解析】 在C語(yǔ)言中,定義一維數(shù)組的語(yǔ)句一般形式如下:
類(lèi)型名 數(shù)組名[常量表達(dá)式];
一維數(shù)組的引用形式為:數(shù)組名[下標(biāo)表達(dá)式]。count表示能被2整除或被5整除的個(gè)數(shù),i則計(jì)算有多少個(gè)數(shù)組元素。
(23)D
【解析】 在C語(yǔ)言中,數(shù)組元素下標(biāo)是從0開(kāi)始的;指針變量p指向數(shù)組的首地址。for循環(huán)語(yǔ)句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語(yǔ)句后數(shù)組各元素的值均變?yōu)?。
(24)B
【解析】 本題考查循環(huán)語(yǔ)句的嵌套以及條件的判斷問(wèn)題。在程序中,內(nèi)層循環(huán)判斷條件為"j<=i",而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為1。
(25)C
【解析】 在C語(yǔ)言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和68。
(26)D
【解析】 本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算。此外,一開(kāi)始應(yīng)知道*k的值為數(shù)組中的某一下標(biāo)值,即*k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。
(27)B
【解析】 argc中存入的是命令行中字符串的個(gè)數(shù)。argv是一個(gè)指向字符型的指針數(shù)組的指針。
(28)C
【解析】 p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
(29)C
【解析】 函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會(huì)影響對(duì)應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類(lèi)型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在文件stdio.h中,NULL被定義為void 型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言考前預(yù)測(cè)題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |