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