點(diǎn)擊查看:2015年計(jì)算機(jī)二級(jí)《C語(yǔ)言》最新章節(jié)練習(xí)題匯總
一、選擇題
1下面關(guān)于“EOF”的敘述,正確的是
A.EOF的值等于0
B.EOF是在庫(kù)函數(shù)文件中定義的符號(hào)常量
C.文本文件和二進(jìn)制文件都可以用EOF作為文件結(jié)束標(biāo)志
D.對(duì)于文本文件,fgetc函數(shù)讀入最后一個(gè)字符時(shí),返回值是EOF
參考答案:B
參考解析:在c語(yǔ)言中,或更精確地說(shuō)成c標(biāo)準(zhǔn)函數(shù)庫(kù)中表示文件結(jié)束符(end of file)。在while循環(huán)中以EOF作為文件結(jié)束標(biāo)志,這種以EOF作為文件結(jié)束標(biāo)志的文件,必須是文本文件。在文本文件中,數(shù)據(jù)都是以字符的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~255,不可能出現(xiàn)-1,因此可以用EOF作為文件結(jié)束標(biāo)志。
2有以下程序
若運(yùn)行時(shí)從鍵盤(pán)上輸入OPEN THE DOOR<回車(chē)>,程序的輸出結(jié)果是
A.0PEN THE DOORB.oPEN tHE dOORC.open the doorD.Open The Door
參考答案:C
參考解析:字符串輸入函數(shù)gets的功能是從標(biāo)準(zhǔn)輸入設(shè)備鍵盤(pán)上輸入一個(gè)字符串。首先使指針變量P指向字符串的首字母,while循環(huán)語(yǔ)句中對(duì)字符串的每個(gè)字符進(jìn)行fun函數(shù)操作。fun函數(shù)的功能是,將字符串中的大寫(xiě)字母變小寫(xiě)字母。將處理結(jié)果返回主函數(shù),主函數(shù)通過(guò)putehar()字符輸出函數(shù)進(jìn)行輸出。因此C選項(xiàng)正確。
3為了建立如圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)含兩個(gè)
A.link next;B.struct link*next;C.link*next;D.struet link next;
參考答案:B
參考解析:本題主要考查鏈表中結(jié)點(diǎn)的概念,屬于基礎(chǔ)知識(shí),其中指針域應(yīng)該是指向下個(gè)結(jié)點(diǎn),所以答案為B。
4若有以下程序
則程序的輸出結(jié)果是
A.10B.11C.13D.15
參考答案:B
參考解析:break語(yǔ)句的作用是終止正在執(zhí)行的switch流程,跳出switch結(jié)構(gòu)或者強(qiáng)制終止當(dāng)前循環(huán),從當(dāng)前執(zhí)行的循環(huán)中跳出。題干中第一次循環(huán)n值為0,執(zhí)行default語(yǔ)句后的s+=4,s的值變?yōu)?,執(zhí)行case1語(yǔ)句后的s+=1,s的值變?yōu)?,遇到break語(yǔ)句跳出switch語(yǔ)句,進(jìn)人第二次循環(huán)。第二次循環(huán)時(shí)n的值為1。執(zhí)行case1后的s+=1,s的值變?yōu)?。遇到break語(yǔ)句跳出switch語(yǔ)句.進(jìn)入第三次循環(huán)。第三次循環(huán)時(shí)n的值為2,執(zhí)行case2后的s+=2,s的值變?yōu)?,遇到break語(yǔ)句跳出switch語(yǔ)句,進(jìn)入第四次循環(huán)。第四次循環(huán)時(shí)n的值為3,執(zhí)行case3后的s+=3,s的值變?yōu)?1。再判斷循環(huán)條件為假,退出循環(huán)打印s的值11。
5有以下程序
程序的輸出結(jié)果是
A.0B.6C.7D.8
參考答案:B
參考解析:本題主要考查了函數(shù)定義及調(diào)用,以及while循環(huán)語(yǔ)句,執(zhí)行fun函數(shù)后,首先是找到最后一個(gè)字符的地址,然后減去第一個(gè)地址得到的就是這個(gè)字符串的長(zhǎng)度,所以本題答案為B。
6有以下程序
程序的輸出結(jié)果是
A.9B.14C.10D.15
參考答案:D
參考解析:考查函數(shù)的遞歸調(diào)用,只需要一步一步遞歸調(diào)用fun函數(shù)即可,執(zhí)行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案為D選項(xiàng)。
7以下敘述中正確的是
A.結(jié)構(gòu)體數(shù)組名不能作為實(shí)參傳給函數(shù)
B.結(jié)構(gòu)體變量的地址不能作為實(shí)參傳給函數(shù)
C.結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員
D.即使是同類(lèi)型的結(jié)構(gòu)體變量,也不能進(jìn)行整體賦值
參考答案:C
參考解析:本題考查結(jié)構(gòu)體變量作為函數(shù)參數(shù),結(jié)構(gòu)體變量的地址可以作為參數(shù)傳給函數(shù),結(jié)構(gòu)體數(shù)組名就是一個(gè)地址,可以傳給函數(shù),如果是同類(lèi)型的結(jié)構(gòu)體變量,可以整體賦值。
8若有以下程序
則程序的輸出結(jié)果是
A.5,3,3,5,5B.3,5,5,3,5C.3,5,3,5,5D.5,3,5,3,5
參考答案:D
參考解析:在主函數(shù)中分別給整型變量i、j和指針型變量P,q賦初值,并聲明指針變量r;調(diào)用f函數(shù),并將實(shí)參變量P和q的值傳遞給形參變量s和t,并且f函數(shù)是指針型函數(shù),即函數(shù)的返回值將是一個(gè)地址。在f函數(shù)中,如果條件成立,則將指針變量s和t的值互換,并且將指針S的地址返回主函數(shù)。最后輸出i,j,*P,* q,*r的值,即5,3,5,3,5。因此D選項(xiàng)正確。
9以下敘述中正確的是
A.在c語(yǔ)言中,邏輯真值和假值分別對(duì)應(yīng)1和0
B.關(guān)系運(yùn)算符兩邊的運(yùn)算對(duì)象可以是
C語(yǔ)言中任意合法的表達(dá)式C.對(duì)于浮點(diǎn)變量x和y,表達(dá)式:x==y是非法的,會(huì)出編譯錯(cuò)誤
D.分支結(jié)構(gòu)是根據(jù)算術(shù)表達(dá)式的結(jié)果來(lái)判斷流程走向的
參考答案:B
參考解析:A選項(xiàng)中,在c語(yǔ)言中,邏輯真值對(duì)應(yīng)非0;C選項(xiàng)中,表達(dá)式:x==y是合法的;D選項(xiàng)中,分支結(jié)構(gòu)的流程走向是根據(jù)表達(dá)式的值,并不僅僅是算數(shù)表達(dá)式的值。因此B選項(xiàng)正確。
10有如下程序
程序運(yùn)行后的輸出結(jié)果是
A.min=0,max=21B.min=1,max=20C.min=1,max=19D.min=0,max=6
參考答案:A
參考解析:本題首先在main函數(shù)定義一個(gè)數(shù)組array,然后定義了一個(gè)結(jié)構(gòu)變量rain_max,min_max使用函數(shù)get_min_max的返回值初始化,函數(shù)get_min_max的功能就是將數(shù)組中的最小值和最大值取出來(lái)后分別賦值給結(jié)構(gòu)變量min_max中的first,second兩個(gè)整形變量,數(shù)組長(zhǎng)度為6個(gè)單位,初始化4個(gè)數(shù)據(jù),剩下2個(gè)默認(rèn)為0,因此答案為A選項(xiàng)。
相關(guān)推薦:
2015年計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》提高練習(xí)題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |