第 1 頁(yè):選擇題 |
第 3 頁(yè):程序填空題 |
第 4 頁(yè):程序改錯(cuò)題 |
第 5 頁(yè):程序設(shè)計(jì)題 |
點(diǎn)擊查看:2015計(jì)算機(jī)二級(jí)《C語(yǔ)言》全真模擬試題及答案匯總
一、選擇題
1以下敘述中錯(cuò)誤的是( )。
A.gets函數(shù)用于從終端讀人字符串
B.getehar函數(shù)用于從磁盤文件讀人字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
參考答案:B
參考解析:本題考查字符處理函數(shù)和文件操作函數(shù)。屬于基礎(chǔ)知識(shí),其中B選項(xiàng)9etchar函數(shù)是用于從終端讀人一個(gè)字符。
2設(shè)有表示學(xué)生選課的三張表,學(xué)生s(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程c(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī)),則表sc的關(guān)鍵字(鍵或碼)為( )。
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
參考答案:C
參考解析:學(xué)號(hào)是學(xué)生表s的主鍵,課號(hào)是課程表c的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C。
3程序流程圖中帶有箭頭的線段表示的是( )。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
參考答案:C
參考解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。在程序流程圖中,用標(biāo)有名字的箭頭表示控制流。所以選擇C。
4結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括( )。
A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
參考答案:A
參考解析:結(jié)構(gòu)化程序設(shè)計(jì)的思想包括:自頂向下、逐步求精、模塊化、限制使用got0語(yǔ)句,所以選擇A。
5算法的空間復(fù)雜度是指( )。
A.算法在執(zhí)行過(guò)程中所需要的計(jì)算機(jī)存儲(chǔ)空間B.算法所處理的數(shù)據(jù)量C.算法程序中的語(yǔ)句或指令條數(shù)D.算法在執(zhí)行過(guò)程中所需要的臨時(shí)工作單元數(shù)
參考答案:A
參考解析:算法的空間復(fù)雜度是指算法在執(zhí)行過(guò)程中所需要的內(nèi)存空間。所以選擇A。
6有以下程序:
以上程序執(zhí)行后abc.dat文件的內(nèi)容是( )。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
參考答案:B
參考解析:本題考查文件操作函數(shù),fwrite和rewind函數(shù),題目中先是將s2字符串寫入adc.dat中,然后將寫指針回到文件開頭,然后寫入sl字符串,那么sl字符串就將前5個(gè)字符覆蓋,所以最終結(jié)果為Chinan9,選項(xiàng)B正確。
7以下敘述中正確的是( )。
A.C語(yǔ)句必須在一行內(nèi)寫完
B.C程序中的每一行只能寫一條語(yǔ)句
C.C語(yǔ)言程序中的注釋必須與語(yǔ)句寫在同一行
D.簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束
參考答案:D
參考解析:C語(yǔ)句可以跨行來(lái)寫,但是必須以分號(hào)結(jié)束,所以A選項(xiàng)錯(cuò)誤。c程序中的一行可以有多條語(yǔ)句,所以B選項(xiàng)錯(cuò)誤。C語(yǔ)言中的注釋語(yǔ)句可以與原語(yǔ)句放在一行也可以不放在一行,所以C選項(xiàng)錯(cuò)誤。
8對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是( )。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
參考答案:D
參考解析:循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著人隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。
9有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,3,1,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,4,3,9,12,12,11,11,18,9,
D.1,2,3,6,8,7,5,4,10,9,
參考答案:C
參考解析:題目中定義了一個(gè)結(jié)構(gòu)體類型s,然后定義了一個(gè)結(jié)構(gòu)體變量s并初始化,執(zhí)行f函數(shù)后,將s中元素a的每個(gè)元素都加上i,這里需要注意最后一個(gè)元素沒(méi)有加i,所以最終答案為C選項(xiàng)。
10有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,3,1,6,8,7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,l,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
參考答案:C
參考解析:本題的子函數(shù)f的功能是對(duì)結(jié)構(gòu)體變量。中第二個(gè)成員數(shù)組中所有的數(shù)據(jù)進(jìn)行從小到大的冒泡排序, 所以結(jié)果是C。
11有以下程序
程序運(yùn)行后的輸出結(jié)果是( )。
A.6,2,3,4,5,
B.2,2,3,4,5,
C.1,2,3,4,5,
D.2,3,4,5,6,
參考答案:A我
參考解析:本題考查的是函數(shù)的地址調(diào)用,將數(shù)組名作為數(shù)組首地址進(jìn)行傳遞,然后取首個(gè)數(shù)組元素值進(jìn)行加l運(yùn)算,循環(huán)5次。因此A選項(xiàng)正確。
12若變量已正確定義,在if(W)塒ntf(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
參考答案:A
參考解析:選項(xiàng)A是非法的表達(dá)式,C語(yǔ)言中沒(méi)有<>運(yùn)算符。
13設(shè)有定義:char p E]={’1’,‘2’,’3’},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是( )。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
參考答案:A
參考解析:根據(jù)題目中的定義可以知道sizeof(p),計(jì)算的是數(shù)組P中所有元素所占用的字節(jié)數(shù),而不是ch”型數(shù)據(jù)所占字節(jié)數(shù)。
14有以下程序:
程序執(zhí)行后的輸出結(jié)果是( )。
A.5,11B.5,5C.11,11D.11,5
參考答案:A
參考解析:聲明靜態(tài)局部變量:函數(shù)調(diào)用結(jié)束后,其占用的存儲(chǔ)單元不釋放,在下次該函數(shù)調(diào)用時(shí),該變量保留上一次函數(shù)調(diào)用結(jié)束時(shí)的值。本題子函數(shù)tim中的變量i和m均為靜態(tài)局部變量。所以第一次調(diào)用fun函數(shù),返回m的值為5,第二次再調(diào)用fun函數(shù)時(shí),i的值為3,nl的值已經(jīng)是5了,所以執(zhí)行i+=m+1,i的值變?yōu)?,nl=i+x+Y=9+1+l=11。
15下面結(jié)構(gòu)體的定義語(yǔ)句中,錯(cuò)誤的是( )。
A.struct ord{int x;int Y;int z;}struct ord a;
B.struct ord{int x;im Y;im z;};struct ord a;
C.struct ord{int x;int Y;int Z;}a;
D.struct{int x;int Y;int z;}a;
參考答案:A
參考解析:A選項(xiàng)stnlet onl{int x;int y;int 2;struet ora a;錯(cuò)誤,不能在定義結(jié)構(gòu)體的同時(shí),又用結(jié)構(gòu)體類型名定義變量。應(yīng)該寫成B選項(xiàng)或者D選項(xiàng)的格式。
16以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是( )。
參考答案:A
參考解析:選項(xiàng)A中d0后面的語(yǔ)句只執(zhí)行了-次匣結(jié)束了循環(huán);B選項(xiàng)中條件while(1)永遠(yuǎn)成立,所以是死循F;C選項(xiàng)中n的值為10,而循環(huán)體為空語(yǔ)句,所以while(n)永遠(yuǎn)為真,進(jìn)入死循環(huán);D選項(xiàng)中for語(yǔ)句第二個(gè)表達(dá)式為空,所1以沒(méi)有判別條件,進(jìn)入死循環(huán)。
17有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
參考答案:D
參考解析:intm=1,n=2,* P=&m,。q=&Il,*r;即指針變量P指向m,指針變量q指向n,r=P;P=q;q=。;即 通過(guò)指針變量r,將指針P和指針q的指向交換。因此最后輸出1,2,2,1。
18有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。.
A.3,3B.1,1C.2,3D.1,2
參考答案:D
參考解析:該題目中首先區(qū)別++n和n++,第一次調(diào)用f函數(shù)時(shí),將++n(n自增l后再參與運(yùn)算)作為參數(shù)進(jìn)行傳遞,此時(shí)變量m的值為1,執(zhí)行n+=m;后,n=1,將l返回主函數(shù),并輸出。第二次調(diào)用f函數(shù)時(shí),將n++(n參與運(yùn)算后再自增1)作為參數(shù)進(jìn)行傳遞,此時(shí)變量m的值為1,執(zhí)行語(yǔ)句n+=m;,由于n是靜態(tài)存儲(chǔ)變量,因此n=2,將2返回主函數(shù)并輸出。因此D選項(xiàng)正確。
19if語(yǔ)句的基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表=迭式”值的敘述中正確的是( )。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
參考答案:D
參考解析:if語(yǔ)句中的表達(dá)式可以是任意合法的數(shù)值,如常量、變量表達(dá)式。所以D選項(xiàng)正確。
20有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,1,
D.0,1,2,3,4,5,6,7,8,9,
參考答案:A
參考解析:函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實(shí)參的值傳送給形參,而不能把形參的值反向地傳送給實(shí)參。因此在函數(shù)調(diào)用過(guò)程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化,所以數(shù)組c中的元素的值并沒(méi)有變化,選擇A。
相關(guān)推薦:
2015年12月計(jì)算機(jī)等級(jí)考試通關(guān)分享:如何做題?
2015計(jì)算機(jī)二級(jí)《C語(yǔ)言》精選練習(xí)題及答案匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |