第 1 頁:選擇題 |
第 3 頁:程序填空題 |
第 4 頁:程序改錯(cuò)題 |
第 5 頁:程序設(shè)計(jì)題 |
點(diǎn)擊查看:2015計(jì)算機(jī)二級(jí)《C語言》全真模擬試題及答案匯總
一、選擇題
1下列敘述中正確的是( )。
A.在switch語句中,不-定使用break語句
B.在switch語句中必須使用default
C.break語句必須與switch語句中的case配對(duì)使用
D.break語句只能用于switch語句
參考答案:A
參考解析:default語句在swtch語句中可以省,所以8錯(cuò)誤;switch語句中并非每個(gè)case后都需要使用break語句,所以c錯(cuò)誤;break語句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D錯(cuò)誤。
2有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World
參考答案:A
參考解析:P是指向二維字符數(shù)組第二行One+Dream!的數(shù)組指針,所以長度是l0,打印輸出的也是該字符串。
3設(shè)有定義:char*C;以下選項(xiàng)中能夠使C正確指向一個(gè)字符串的是( )。
A.char str( )=”string”;C=str;
B.scanf(”%s”,
C.;C.c=getchar( );
D.*c=”strin9”;
參考答案:A
參考解析:A選項(xiàng)為正確用法,先將字符串存于字符數(shù)組中,然后將數(shù)組名賦給字符指針(數(shù)組名代表數(shù)組首地址,定義數(shù)組時(shí)為其分配確定地址)。C選項(xiàng)錯(cuò)誤,getchar()函數(shù)只能輸入一個(gè)字符給字符型變量,而不是字符指針。B選項(xiàng)和D選項(xiàng)有類似的錯(cuò)誤,兩個(gè)選項(xiàng)并無語法錯(cuò)誤,但運(yùn)行時(shí)可能會(huì)出現(xiàn)問題。因?yàn)樵贐選項(xiàng)和D選項(xiàng)中,字符指針沒有被賦值,是個(gè)不確定的值,指向一個(gè)不確定的內(nèi)存區(qū)域,這個(gè)區(qū)域可能存放有用的指令或數(shù)據(jù)。在這個(gè)不確定的區(qū)域重新存放字符串,可能會(huì)發(fā)生無法預(yù)知的錯(cuò)誤。因此A選項(xiàng)正確。
4在數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段中,數(shù)據(jù)共享最好的是( )。
A.人工管理階段B.文件系統(tǒng)階段C.數(shù)據(jù)庫系統(tǒng)階段D.三個(gè)階段相同
參考答案:C
參考解析:數(shù)據(jù)管理發(fā)展至今已經(jīng)歷了三個(gè)階段:人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中最后一個(gè)階段結(jié)構(gòu)簡單,使用方便邏輯性強(qiáng)物理性少,在各方面的表現(xiàn)都最好,一直占據(jù)數(shù)據(jù)庫領(lǐng)域的主導(dǎo)地位,所以選擇C。
5一間宿舍可住多個(gè)學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是( )。
A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多
參考答案:B
參考解析:因?yàn)橐婚g宿舍可以住多個(gè)學(xué)生即多個(gè)學(xué)生住在一個(gè)宿舍中,但一個(gè)學(xué)生只能住一間宿舍,所以實(shí)體宿舍和學(xué)生之間是一對(duì)多的關(guān)系。
6有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.3B.1C.2D.0
參考答案:A
參考解析:本愿考查位運(yùn)算符以及相關(guān)運(yùn)算,‘為按位或,&為按位與,部么a'b為3,再與c按位與仍然為3,所以答案為A選項(xiàng)。
7有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.AbcdefB.ABCDEFC.aBcDeFD.AbCdEf
參考答案:D
參考解析:函數(shù)的含義是如果i的值能被2整除,以字符格式打印輸出i+C的值,如果i的值不能被2整除,打印i+b的值。第一次i值為0,執(zhí)行else語句打印字符‘A’,第二次i值為1,打印1+b的值即字符‘b符‘c’,依此類推選擇D選項(xiàng),第三次i值為2,打印字I.
8軟件生命周期中的活動(dòng)不包括( )。
A.市場調(diào)研B.需求分析C.軟件測試D.軟件維護(hù)
參考答案:A
參考解析:軟件生命周期可以分為軟件定義、軟件開發(fā)與軟件運(yùn)行維護(hù)三個(gè)階段。主要活動(dòng)階段是:可行性研究與計(jì)劃階段、需求分析、軟件設(shè)計(jì)、軟件實(shí)現(xiàn)、軟件測試、運(yùn)行和維護(hù),所以選擇A。
9下列定義數(shù)組的語句中,正確的是( )。
參考答案:A
參考解析:數(shù)組說明的一般形式為:類型說明符數(shù)組名[常量表達(dá)式]。B選項(xiàng)中N是變量,不能用變量定義數(shù)組長度。c選項(xiàng)中數(shù)組長度是非法的一串?dāng)?shù)字。定義數(shù)組時(shí)必須為其指明長度,D選項(xiàng)中數(shù)組長度為空,所以非法。
10有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.0B.一1C.1D.7
參考答案:B
參考解析:a一一的含義是先用后減l,所以當(dāng)a的值為0時(shí),跳出循環(huán),但是仍要執(zhí)行a一一,g的值變?yōu)橐?。
11有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
參考答案:D
參考解析:maUoc函數(shù)動(dòng)態(tài)分配一個(gè)整型的內(nèi)存空間,然后把函數(shù)返回的地址用(int{)強(qiáng)制類型轉(zhuǎn)換為整型指針,再把它賦給a,b,c,即讓指針變量a,b,c都指向剛申請(qǐng)的內(nèi)存空間。所以只有最后一個(gè)賦值語句+C=3的值保留在了該空間內(nèi),因?yàn)閍、b、C三個(gè)指針變量均指向該空間,所以打印該空間內(nèi)的數(shù)值為3。
12有以下程序(strcat函數(shù)用于連接兩個(gè)字符串):
程序運(yùn)行后的輸出結(jié)果是( )。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
參考答案:C
參考解析:字符數(shù)組a中包含兩個(gè)‘、O’,遇到第一個(gè)‘O’時(shí)就表示字符串a(chǎn)結(jié)束。字符串處理函數(shù)由c吐(字符數(shù)組a,字符數(shù)組b),功能是連接兩個(gè)字符數(shù)組中的字符串,把字符串b連接到a的后面,結(jié)果放在字符數(shù)組a中。連接時(shí)將字符串a(chǎn)后的‘、0’取消,只在新串最后保留一個(gè)‘、0’。本題相當(dāng)于將“ABCD”和“IJK”連接。因此C選項(xiàng)正確。
13有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 0
參考答案:D
參考解析:第一次循環(huán)i為0,i%2為o,執(zhí)行switch(a[O]%2)中的ca∞0語句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)i的值為l,i%2為1,執(zhí)行ca∞1:a[i]=0;所以a[1]的值變成0;第三次循環(huán)i的值為2,i%2為0,執(zhí)行switch(a[2]%2)中的ca∞1語句后的內(nèi)容a[2]一一,8[2]的值變成4;第四次循環(huán)i的值為3,i%2為1,執(zhí)行casel:a[i]=0;所以a[3]的值變成0。
14有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是( )。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
參考答案:A
參考解析:本題考查結(jié)構(gòu)體數(shù)組初始化以及結(jié)構(gòu)體變量的引用,題目中定義了一個(gè)結(jié)構(gòu)體數(shù)組C并初始化,指針pt指向c的第一個(gè)元素,那么pt一>x為10,++pt一>x為11,4 pt一>Y為1,(pt++)一>x為20,所以答案為A。
15某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:
該系統(tǒng)總體結(jié)構(gòu)圖的深度是( )。
A.7B.6C.3D.2
參考答案:C
參考解析:根據(jù)總體結(jié)構(gòu)圖可以看出該樹的深度為3,比如:XY系統(tǒng)——功能2——功能2.1,就是最深的度數(shù)的一個(gè)表現(xiàn)。
16以下不能將s所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是( )。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);
參考答案:A
參考解析:do{*t++=}S++;}while(*S);不能因?yàn)楫?dāng)*s=’、0。時(shí),while(* s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’、0’沒有復(fù)制給}t,造成}t不完整。注意,*t++=*s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。B、C、D都能將。\0’復(fù)制過去
17數(shù)據(jù)流圖中帶有箭頭的線段表示的是( )。
A.控制流B.事件驅(qū)動(dòng)C.模塊調(diào)用D.數(shù)據(jù)流
參考答案:D
參考解析:數(shù)據(jù)流圖中帶箭頭的線段表示的是數(shù)據(jù)流,即沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名。
18有以下程序:
程序運(yùn)行后的輸出結(jié)果是( )。
A.9B.8C.7D.10
參考答案:A
參考解析:題目中靜態(tài)局部變量a,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元,在程序整個(gè)運(yùn)行期間都不釋放。所以第-次調(diào)用函數(shù)執(zhí)行n+=a++;時(shí)a先與n相加在再進(jìn)行自增。n的值為4,a的值為2,且a變量執(zhí)行完后空間沒有釋放。再執(zhí)行s:。+f(a)時(shí),s的值為4,調(diào)用f(a)函數(shù)時(shí)n的返回值為n=3+2=5,且此時(shí)a的值為3了。所以s的值為9。
19結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括( )。
A.順序結(jié)構(gòu)B.GOT0跳轉(zhuǎn)C.選擇(分支)結(jié)構(gòu)D.重復(fù)(循環(huán))結(jié)構(gòu)
參考答案:B
參考解析:1966年Boehm和Jaeopini證明了程序設(shè)計(jì)語言僅僅使用順序、選擇和重復(fù)三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。
20以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是( )。
A.x%2==0B.x/2C.x%21=0D.x%2==1
參考答案:A
參考解析:算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符的優(yōu)先級(jí),所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對(duì)不是0。c選項(xiàng)的值為真,即l。D選項(xiàng)的值為真,即l。
相關(guān)推薦:
2015年12月計(jì)算機(jī)等級(jí)考試通關(guān)分享:如何做題?
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |