第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序改錯題 |
第 5 頁:程序設(shè)計(jì)題 |
點(diǎn)擊查看:2015計(jì)算機(jī)二級考試《C語言》沖刺試題及答案匯總
一、選擇題
1有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )O
A.321678B.876543C.1098765D.345678
參考答案:A
參考解析:本題中的函數(shù)fun()的功能是將數(shù)組k中前5個元素倒序,所以返回后數(shù)組k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印輸出k[2]到k[7]元素的值,即321678,所以選擇A。
2有以下程序段:
程序運(yùn)行后的輸出結(jié)果是( )。
A.a=10 b=50 C=30B.a=10 b=50 c=10C.a=10 b=30 c=10D.a=50 b=30 c:50
參考答案:B
參考解析:本題中a>b的條件不滿足,所以不執(zhí)行逗號表達(dá)式a=b,b=c;的操作,而是執(zhí)行c=a操作,即c的值勾10。
3有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.*2*6B.}3*5一C.}5D.*7
參考答案:D
參考解析:do……while語句是先執(zhí)行后判斷,所以第一次先執(zhí)行循環(huán)體,判斷i%3==1的條件,由于i為5,所以余數(shù)為2,條件不成立,執(zhí)行i++,i的值為6,判斷while條件為真;第二次執(zhí)行循環(huán)體,同第一次循環(huán)的執(zhí)行過程一樣,i的值變?yōu)?,判斷while條件為真;第三次執(zhí)行循環(huán)體,此時(shí)i%3==1,條件成立,再判斷i%5==2也成立,打印*與i的值,即*7,然后執(zhí)行break語句,跳出循環(huán)。所以選擇D選項(xiàng)。
4設(shè)有定義:int X=2;,以下表達(dá)式中,值不為6的是( )。
A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1
參考答案:A
參考解析:A選項(xiàng)中逗號表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個逗號表達(dá)式為第二個表達(dá)式的值4,所以選擇A。B選項(xiàng)中首先計(jì)算逗號表達(dá)式中第一表達(dá)式x++,此時(shí)x為3,在執(zhí)行第二個表達(dá)式2·X=2*3=6,所以逗號表達(dá)式為第二個表達(dá)式的值6。C選項(xiàng)的賦值表達(dá)式可以表示為x=x *(1+x)=2}(1+2)=6。D選項(xiàng)中的表達(dá)式可以表示為x=X}(x+1)=2·3=60
5有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.9,18B.8,11C.7,11D.10,14
參考答案:D
參考解析:第一次循環(huán)a的值為1,滿足條件,執(zhí)行b+=a,與a+=2,則b的值變?yōu)?,a的值變?yōu)?。執(zhí)行8++,a的值為4,滿足條件進(jìn)入第二次循環(huán),執(zhí)行完循環(huán)體后b的值為7,a的值為6。執(zhí)行a++,a的值為7,滿足條件進(jìn)入第三次循環(huán),執(zhí)行完循環(huán)體后b的值為14,a的值為9。執(zhí)行a++,a的值變?yōu)?0,不滿足條件,循環(huán)結(jié)束。所以選擇D選項(xiàng)。’
6若a是數(shù)值類型,則邏輯表達(dá)式(a==1)I l(a!=1)的值是( )。
A.1B.0C.2D.不知道a的值,不能確定
參考答案:A
參考解析:邏輯或”I|”要求只要兩邊的運(yùn)算對象有一個非零,結(jié)果就為真。雖然不知道a的值,但是若a為1,則左邊運(yùn)算對象為1;若a的值不是l,則右邊運(yùn)算對象的值為1,所以總能保證一邊非零,所以結(jié)果為真,即1。
7有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.7.5B.31.5C.程序有錯無輸出結(jié)果D.14.0
參考答案:C
參考解析:宏定義不是C語句,末尾不需要有分號。所以語句printf(”%4.1f\n”,S(8+b));展開后為parintf(”%4.1f\n”,3.5;*a+b}a+b;);所以程序會出現(xiàn)語法錯誤。
8以下敘述中正確的是( )。
A.在C語言中,預(yù)處理命令行都以“#”開頭
B.預(yù)處理命令行必須位于c源程序的起始位置
C.#include必須放在C程序的開頭
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
參考答案:A
參考解析:
預(yù)處理命令是以“#”號開頭的命令,它們不是C語言的可執(zhí)行命令,這些命令應(yīng)該在函數(shù)之外書寫,一般在源文件的最前面書寫,但不是必須在起始位置書寫,所以B、c錯誤。C語言的預(yù)處理能夠?qū)崿F(xiàn)宏定義和條件編譯等功能,所以D錯誤。
9設(shè)有定義:
則a和b的值分別是( )。
A.87和6.0B.876和543.0C.87和543.0D.76和543.0
參考答案:A
參考解析:在格式字符前加入一個整數(shù)可以指定輸入數(shù)據(jù)所占的寬度,所以賦值時(shí)會將87賦給int型變量a,把6.0賦給im型float型變量b。
10以下選項(xiàng)中,能用作數(shù)據(jù)常量的是( )。
A.115LB.0118C.1.5el.5D.0115
參考答案:A
參考解析:A選項(xiàng)中l(wèi)15L表示ll5是長整型數(shù)據(jù),合法。B選項(xiàng)是八進(jìn)制常量的表示方法,但是在八進(jìn)制中不能含有數(shù)字8,所以B錯誤。c選項(xiàng)中e后面應(yīng)該是整數(shù)不能是小數(shù)l.5,所以c錯誤。D選項(xiàng)中八進(jìn)制常量應(yīng)該是數(shù)字…0開始,而不是字母…O開始。
11有如下程序段:
其輸出結(jié)果是( )。
A.123.141593B.1,23.141593C.12,3.141593D.123.1415930
參考答案:A
參考解析: printf函數(shù)中格式字符“%8.6”的含義是:變量Y的輸出寬度為8(包括小數(shù)點(diǎn)),小數(shù)點(diǎn)后面保留6位小數(shù),且右對齊。所以選擇A。
12軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是( )。
A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合
參考答案:B
參考解析:軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是高內(nèi)聚低偶合、模塊大小規(guī)模適當(dāng)、模塊的依賴關(guān)系適當(dāng)?shù)取DK的劃分應(yīng)遵循一定的要求,以保證模塊劃分合理,并進(jìn)一步保證以此為依據(jù)開發(fā)出的軟件系統(tǒng)可靠性強(qiáng),易于理解和維護(hù)。模塊之間的耦合應(yīng)盡可能的低,模塊的內(nèi)聚度應(yīng)盡可能。
13下列關(guān)于線性鏈表的敘述中,正確的是( )。
A.各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致
B.各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù)
C.進(jìn)行插入與刪除時(shí),不需要移動表中的元素
D.以上說法均不正確
參考答案:C
參考解析:一般來說,在線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲序號是不連續(xù)的,并且各結(jié)點(diǎn)在存儲空間中的位置關(guān)系與邏輯關(guān)系也不一致。線性鏈表中數(shù)據(jù)的插入和刪除都不需要移動表中的元素,只需改變結(jié)點(diǎn)的指針域即可。
14有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1 2B.1 4C.123 4D.123 456
參考答案:D
參考解析:fprintf()函數(shù)向文本文件輸出數(shù)據(jù),將輸出的內(nèi)容按格式輸出翻硬盤的文本文件中。執(zhí)行兩次fprintf后。文件中的內(nèi)容為。l23 456”,所以D選項(xiàng)正確。
15有以下定義語句,編譯時(shí)會出現(xiàn)編譯錯誤的是( )。
A.char a=’\x2d’;B.char a=。\n。;C.char a=…a;D.char a=”aa”:
參考答案:D
參考解析:D選項(xiàng)中將字符串常量…aa賦給字符變量a是錯誤的。
16有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.357B.753C.369D.751
參考答案:A
參考解析:二維數(shù)組t[][3]實(shí)際上指t[3][3]={{9,8,7},{6,5,41,{3,2,1}},通過循環(huán)語句for語句可以得到i=0,t[2][0]=3、i=1,t[1][1]=5、i=2,t[0][2]=7、i=3時(shí)循環(huán)結(jié)束即t[2][0]=3、t[1][1]=5、t[0][2]=7。因此A選項(xiàng)正確。
17以下敘述中錯誤的是( )。
A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.C語言是-種結(jié)構(gòu)化程序設(shè)計(jì)語言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
參考答案:A
參考解析:使用順序,選擇(分支),循環(huán)三種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,所 以A錯誤。
18若有以下語句:typedef struct S{int 9;char h;}T;以下敘述中正確的是( )。
A.可用s定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是struct S類型的變量
參考答案:B
參考解析:本題考查typledef重新聲明一種結(jié)構(gòu)體類型,那么T為結(jié)構(gòu)體類型,而不是結(jié)構(gòu)體變量,所以B選項(xiàng)正確。
19有兩個關(guān)系R、S如下:
由關(guān)系R通過運(yùn)算得到關(guān)系s,則所使用的運(yùn)算為( )。
A.選擇B.投影C.插入D.連接
參考答案:B
參考解析:投影運(yùn)算是指對于關(guān)系內(nèi)的域指定可引人新的運(yùn)算。本題中S是在原有關(guān)系R的內(nèi)部進(jìn)行的,是由R中原有的那些域的列所組成的關(guān)系。所以選擇8。
20設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是( )。
A.X=Y+z+5,++YB.int(15.8%5)C.X=Y*5=X+ZD.X=25%5.0
參考答案:A
參考解析:B與D選項(xiàng)中取模運(yùn)算符%的左右兩個操作數(shù)均應(yīng)為整數(shù),所以B、D錯誤。c選項(xiàng)中不能將X+Y的值賦給表達(dá)式Y(jié)*5,所以c錯誤。
相關(guān)推薦:
2015年12月計(jì)算機(jī)等級考試各科目考前必做試題
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |