2009~2012年上半年計(jì)算機(jī)二級C語言試題_第1頁
2009~2012年上半年計(jì)算機(jī)二級C語言試題_第2頁
2009~2012年上半年計(jì)算機(jī)二級C語言試題_第3頁
2009~2012年上半年計(jì)算機(jī)二級C語言試題_第4頁
2009~2012年上半年計(jì)算機(jī)二級C語言試題_第5頁
已閱讀5頁,還剩196頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2012年上半年計(jì)算機(jī)二級C語言試題12011年3月計(jì)算機(jī)等級考試二級C語言筆試152011年9月全國計(jì)算機(jī)等級考試二級筆試試卷342010年3月計(jì)算機(jī)等級考試二級C筆試試題(文字版)482010年9月全國計(jì)算機(jī)二級C語言筆試試題71模擬題184模擬題1參考答案90模擬題292模擬題2參考答案99模擬題3101模擬題3參考答案107模擬題4109模擬題4參考答案114模擬題5117模擬題5參考答案122模擬題6125模擬題6參考答案130模擬題7132模擬題7參考答案136模擬題8139模擬題8參考答案142模擬題9144模擬題9參考答案149模擬題10151模擬題10參考答案158模擬題11

2、160模擬題11參考答案166模擬題12168模擬題12參考答案172模擬題13174模擬題13參考答案181模擬題14183模擬題14參考答案189模擬題15191模擬題15參考答案1972012年上半年計(jì)算機(jī)二級C語言試題一、 選擇題1、 下列敘述中正確的是()。A循環(huán)隊(duì)列是隊(duì)列的一種順序存儲結(jié)構(gòu) B循環(huán)隊(duì)列是隊(duì)列的一種鏈?zhǔn)酱鎯Y(jié)構(gòu)C循環(huán)隊(duì)列是非線性結(jié)構(gòu) D循環(huán)隊(duì)列是一直邏輯結(jié)構(gòu)2、 下列敘述中正確的是()。A棧是一種先進(jìn)先出的線性表 B隊(duì)列是一種后進(jìn)先出的線性表C棧和隊(duì)列都是非線性結(jié)構(gòu) D以上三種說法都不對3、 一棵二叉樹共有25個(gè)節(jié)點(diǎn),其中5個(gè)時(shí)

3、子節(jié)點(diǎn),那么度為1的節(jié)點(diǎn)數(shù)為()。A4 B6 C10 D164、 在下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是()。A內(nèi)模式 B外模式 C概念模式 D邏輯模式5、 在滿足實(shí)體完整性約束的條件下()。A、 一個(gè)關(guān)系中可以沒有候選關(guān)鍵詞B、 一個(gè)關(guān)系中只能有一個(gè)候選關(guān)鍵詞C、 一個(gè)關(guān)系中必須有多個(gè)候選關(guān)鍵詞D、 一個(gè)關(guān)系中應(yīng)該有一個(gè)或者多個(gè)候選關(guān)鍵詞6、 有三個(gè)關(guān)系R、S和T如下:則由關(guān)系R和S得到關(guān)系T的操作是()。A自然連接 B并 C差 D交7、 軟件生命周期中的活動(dòng)不包括()。A軟件維護(hù) B市場調(diào)研

4、 C軟件測試 D需求分析8、 下面不屬于需求分析階段任務(wù)的是()。A確定軟件系統(tǒng)的功能需求 B確定軟件系統(tǒng)的系統(tǒng)的系能需求B制定軟件集成測試計(jì)劃 D需求規(guī)格說明書審評9、 在黑盒測試方式中,設(shè)計(jì)測試用例的主要根據(jù)是()。A程序外部功能 B程序內(nèi)部邏輯C程序數(shù)據(jù)結(jié)構(gòu) D程序流程圖10、 在軟件設(shè)計(jì)中不使用的工具是()。A系統(tǒng)結(jié)構(gòu)圖 B程序流程圖 CPAD圖 D數(shù)據(jù)流圖(DFD圖)11、針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟正確的是()。A確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔B編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔C整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試D確定算

5、法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔12、關(guān)于C語言中數(shù)的表示,以下敘述正確的是()。A只有整型數(shù)在允許范圍內(nèi)能精確無誤的表示,實(shí)型數(shù)會(huì)有誤差B只要在在允許范圍內(nèi)整型和實(shí)型都能精確表示C只有實(shí)型數(shù)在允許范圍內(nèi)能精確無誤的表示,整型數(shù)會(huì)有誤差D只有八進(jìn)制表示的數(shù)在不會(huì)有誤差13、以下關(guān)于算法敘述錯(cuò)誤的是()。A算法可以用偽代碼、流程圖等多種形式來描述B一個(gè)正確的算法必須有輸入C一個(gè)正確的算法必須有輸出D用流程圖可以描述的算法可以用任何一種計(jì)算機(jī)高級語言編寫成程序代碼14、以下敘述錯(cuò)誤的是()。A一個(gè)C程序可以包含多個(gè)不同名的函數(shù)B一個(gè)C程序只能有一個(gè)主函數(shù)CC程序在書寫時(shí),有嚴(yán)格的縮進(jìn)要求,否則不

6、能編譯通過DC程序的主函數(shù)必須用main作為函數(shù)名15、設(shè)有以下語句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要為變量ch1和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。AA和B之間用逗號間隔 BA和B之間不能有任何間隔符CA和B之間可以用回車間隔 DA和B之間用空格間隔16、以下選項(xiàng)中非法的字符常量是()。A102 B65 Cxff D01917、有以下程序#include Main()Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %dn”,A,B,C)程序運(yùn)行后輸出的結(jié)

7、果是()。A0,4,5 B4,4,5 C4,4,4 D0,0,018、設(shè)變量均已正確定義并且賦值,以下與其他三組輸出結(jié)構(gòu)不同的一組語句是()。Ax+; printf(“%dn”,x); Bn=+x; printf(“%dn”,n);C+x; printf(“%dn”,x); Dn=x+; printf(“%dn”,n);19、以下選項(xiàng)中,能表示邏輯值“假”的是()。A1 B0.000001 C0 D100.020、有以下程序#include Main() int a;Scanf(“%d”,&a);If(a+<9) printf(“%dn”,a);Else printf(“%dn”

8、,a-);程序運(yùn)行時(shí)鍵盤輸入9<回車>,則輸出的結(jié)構(gòu)是()。A10 B11 C9 D821、有以下程序#include Main()int s=0,n;For (n=0;n<3;n<+)switch(s) case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;printf(“%dn”,s);程序運(yùn)行后的結(jié)果是()。A1,2,4 B1,3,6 C3,10,14 D3,6,1022、若k是int類型變量,且有以下for語句For(k=-1;k<0;k+) printf(*n”);下面關(guān)于語句執(zhí)行情況的敘

9、述中正確的是()。A循環(huán)體執(zhí)行一次 B循環(huán)體執(zhí)行兩次C循環(huán)體一次也不執(zhí)行 D構(gòu)成無限循環(huán)23、有以下程序#include Main()char A,B,C;B=1;C=AFor(A=0;A<6;A+)if(A%2) putchar(B+A);Else putchar(C+A);程序運(yùn)行后輸出的結(jié)果是()。A1B3D5F BABCDFE CA2C4E6 D12345624、設(shè)有如下定義語句Int m =2,4,6,8,*k=m;以下選項(xiàng)中,表達(dá)式的值為6的是()。A*(k+2) Bk+2 C*k+2 D*k+=225、fun函數(shù)的功能是:通過鍵盤輸入給x所指的整型數(shù)組所有元素賦值。在下列劃

10、線處應(yīng)該填寫的是()。#include #define N 5Viod fun(int xN)int m;For(m=N-1;m>0;m-) scanf(“%dn”, );A&x+m B&xm+1 Cx+(m+) Dx+m26、若有函數(shù)Viod fun(double a, int *n)以下敘述中正確的是()。A、 調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送B、 形參a和n都是指針變量C、 形參a是一個(gè)數(shù)組名,n是指針變量D、 調(diào)用fun函數(shù)時(shí)將把double型實(shí)參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組27、

11、有以下程序#include Main()int a,b,k,m,*p1,*p2;k=1,m=8;p1=&k,p2=&m;a=/*p1-m; b=*p1+*p2+6;printf(“%d ”,a); printf(“%dn”,b);編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是()。Aa=/*p1-m Bb=*p1+*p2+6Ck=1,m=8; Dp1=&k,p2=&m;28、以下選項(xiàng)中有語法錯(cuò)誤的是()。A char *str =“guest”; Bchar str10 =“guest”;Cchar *str3 *str1=“guest”; Dchar str31

12、0;str1=“guest”;29、avg函數(shù)的功能是求整型數(shù)組中的前若干個(gè)元素的平均值,設(shè)數(shù)組元素個(gè)數(shù)最多不超過10,則下列函數(shù)說明語句錯(cuò)誤的是()。Aint avg(int *a,int n); Bint avg(int a10,int n);Cint avg(int a,int n) ; Dint avg(int a,int n);30、有以下函數(shù)#include #include main() printf(“%dn”,strren”ATSn0121”) );程序運(yùn)行后的輸出結(jié)果是()。A3 B8 C4 D931、有以下函數(shù)#include main() char a20,b20,c2

13、0;scanf(”%s%s”,a,b);get(c);printf(”%s%sn”,a,b,c);程序運(yùn)行時(shí)從第一行開始輸入 this is a cat!<回車>,則輸出結(jié)果是()。Athisisacat! Bthis is a Cthisis a cat! Dthisisa cat!32、有以下函數(shù)#include viod fun(char c)if(c>x) fun(c-1);printf (“%c”,c);main()fun”z”;程序運(yùn)行輸出結(jié)果是()。Axyz Bwxyz Czyxw Dzyx33、有以下函數(shù)#include viod func(int n)int

14、 i;for(i=0;i<=n;i+) printf(“*”);printf(“#”);main() func(3); printf(“?”); func(4); printf(“n”); 程序運(yùn)行輸出結(jié)果是()。A*#?*# B*#?*#C*#?*# D*#?*#34、有以下函數(shù)#include viod fun(int *s)staic int j=0;do sj=sj+sj+1; wihle(+j<2);main()int k,a10=1,2,3,4,5;for(K+1;k<3;k+) fun(a); for(K+1;k<5;k+) printf(“%d”,ak)

15、;printf(“n”);程序運(yùn)行輸出結(jié)果是()。A12345 B23445 C34756 D3574535、有以下函數(shù)#include #define S(x) (x)*x*2main()int k=5,j=2;printf(“%d,”,Sk+j); printf(“%dn”,S(k-j);程序運(yùn)行輸出結(jié)果是()。A98,18 B39,11 C39,18 D98,1136、有以下函數(shù)#include Viod exch(int t )t0=t5;int x10=1,2,3,4,5,6,7,8,9,10,i=0;While(i<=4) exch(&xi)i+;for(i=0;i&

16、lt;5;i+) printf(“%d”,xi);printf(“n”);程序運(yùn)行輸出結(jié)果是()。A2 4 6 8 10 B1 3 5 7 9 C1 2 3 4 5 D6 7 8 9 1037、設(shè)有以下程序段Struct MP3 char name20;Char color;Float price;std,*ptr;ptr=& std;若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是()。Astd.color Bptr-> color Cstd-> color D(*ptr) .color 38、有以下函數(shù)#include struct stuint mun; ch

17、ar name10; int age;viod fun(struct stu *p) printf(“%sn”,p->name);mian() struct stu x3=01,”zhang”,20,02,”wang”,19,03,”zhao”,18;fun(x+2);程序運(yùn)行輸出結(jié)果是()。Azhang Bzhao Cwang D1939、有以下函數(shù)#include mian()int a=12,c;c=(a<<2)<<1;printf(“%dn”,c):程序運(yùn)行輸出結(jié)果是()。A3 B50 C2 D9640、以下函數(shù)不能用于向文件寫入數(shù)據(jù)的是()。Aftell

18、 Bfwrite Cfputc Dfprintf二、填空題1、將長度為n的順序存儲在線性表中刪除一個(gè)元素,最壞情況下需要移動(dòng)表中的元素個(gè)數(shù)為()。2、設(shè)循環(huán)隊(duì)列的存儲空間為Q(1:3),初始狀態(tài)為front=rear=30。現(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=16,rear=15,則循環(huán)隊(duì)列中有()個(gè)元素。3、數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的增、刪、改和查詢的是()。4、在將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示成()。5、常見的軟件工程方法有結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǎ?、繼承以及多態(tài)性等概念屬于()。6、設(shè)變量a和b已定義為int類型,若要通過scanf(”a=%d,

19、b=%d”,&a,&b);語句分別給a和b輸入1和2,則正確的數(shù)據(jù)輸入內(nèi)容是()。7、以下程序的輸出結(jié)果是()。#include mian() int a=37;a+=a%=9; printf(“%dn”,a);8、設(shè)ABc都是整型變量,如果a的值為1,b的值為2,則執(zhí)行c=a+|b+;語句后,變量b的值是()。9、有以下程序段s=1.0;for(k=1,k<=n;k+)   s=s+1.0(k*(k+1);printf(“%fn”,s);請?zhí)羁?,使以下程序段的功能與上面的程序段完全相同。s=1.0;  k=1;while( 

20、60;  ) s=s+1.0(k*(k+1); k=k+1;printf(“%fn”,s);10、以下程序段的輸出結(jié)果是()。#include mian() char  a,b; for(a=0;a<20;a+=7) b=a; putchar(b+0); 11、以下程序段的輸出結(jié)果是()。#include mian() char *ch4=“red”,”green”,”blue”;Int i=0;While(chi);  putchar(chi0; i+;   12、有以下程序#include mian()int arr=1,3

21、,5,7,2,4,6,8, i, start;Scanf(“%d”, &start);For(i=0,i<3,i+)printf(“%d”,arr(start+i)%8);若在程序運(yùn)行時(shí)輸入整數(shù)10 <回車>,則輸出結(jié)果為()。13、以下程序的功能是輸出a數(shù)組中的所有字符串,請?zhí)羁?include mian()char *a=“ABC”,”DEFGH”,”IJ”,”KLMNOP”;Int i=0;For(;i<4;i+) printf(“%sn”,         

22、0; );14、以下程序的輸出結(jié)果是()。#include #include #include mian() char *p, *q, *r;p=q=r=(char *)malloc(sizeof(char)*20);strcpy(p,”attaboy,welcome!”);printf(“%c%c%cn”,p11, q3, r4);free(p);15、設(shè)文件test.txt中原已寫入字符串Begin,執(zhí)行以下程序后,文件中的內(nèi)容為()。#include mian() file *fp; fp=fopen(“test.txt”,”w+”); fputs(“test”,fp

23、); fclose(fp);2011年3月計(jì)算機(jī)等級考試二級C語言筆試一、 選擇題(1)下列關(guān)于棧敘述正確的是A)棧頂元素最先能被刪除B)棧頂元素最后才能被刪除C)棧底元素永遠(yuǎn)不能被刪除D)以上三種說法都不對(2)下列敘述中正確的是A)有一個(gè)以上根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是非線性結(jié)構(gòu)B)只有一個(gè)根結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)不一定是線性結(jié)構(gòu)C)循環(huán)鏈表是非線性結(jié)構(gòu)D)雙向鏈表是非線性結(jié)構(gòu)(3)某二叉樹共有7個(gè)結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有1個(gè),則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)A)3 B)4 C)6 D)7(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是A)軟件集成測試計(jì)劃 B)軟件詳細(xì)設(shè)計(jì)說明書C)用

24、戶手冊 D)軟件需求規(guī)格說明書(5)結(jié)構(gòu)化程序所要求的基本結(jié)構(gòu)不包括A)順序結(jié)構(gòu) B)GOTO跳轉(zhuǎn)C)選擇(分支)結(jié)構(gòu) D)重復(fù)(循環(huán))結(jié)構(gòu)(6)下面描述中錯(cuò)誤的是A)系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)B)軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過程C)數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一D)PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具(7)負(fù)責(zé)數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言(8)一個(gè)教師可講授多門課程,一門課程可由多個(gè)教師講授。則實(shí)體教師和課程間的聯(lián)系是A)1:1聯(lián)系 B)1:m聯(lián)系C)m:1聯(lián)系 D)m:n聯(lián)系(9)有三個(gè)關(guān)系R、S和T

25、如下: 則由關(guān)系R和S得到關(guān)系T的操作是A)自然連接 B)交 C)除 D)并(10)定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是A)-369 B)369 C)0.369 D)整數(shù)集合1,2,3,4,5(11)計(jì)算機(jī)高級語言程序的運(yùn)行方法有編譯執(zhí)行和解釋執(zhí)行兩種,以下敘述中正確的是A)C語言程序僅可以編譯執(zhí)行B)C語言程序僅可以解釋執(zhí)行C)C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行D)以上說法都不對(12)以下敘述中錯(cuò)誤的是A)C語言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的B)用C語言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行C)通過編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行D)在沒有安裝C語

26、言集成開發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件(13)以下選項(xiàng)中不能用作C程序合法常量的是A)1,234 B)'123'C)123 D)"x7G"(14)以下選項(xiàng)中可用作C程序合法實(shí)數(shù)的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定義語句:int a=3,b=2,c=1;,以下選項(xiàng)中錯(cuò)誤的賦值表達(dá)式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name20;int num;scanf("name=%s num=%d",

27、name;&num);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if語句的基本形式是:if(表達(dá)式)語句,以下關(guān)于“表達(dá)式”值的敘述中正確的是A)必須是邏輯值 B)必須是整數(shù)值C)必須是正數(shù) D)可以是任意合法的數(shù)值(18)有以下程序#include main() int x=011;printf("%dn",+x);程序運(yùn)行后的輸出結(jié)果是A)12 B)11 C)10 D)9(19)有以下程序#inc

28、lude main() int s;scanf("%d",&s);while(s>0) switch(s) case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;scanf("%d",&s);運(yùn)行時(shí),若輸入1 2 3 4 5 0<回車>,則輸出結(jié)果是A)6566456 B)66656

29、C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i+) n=rand()%5;switch (n) case 1:case 3:printf("%dn",n); break;case 2:case 4:printf("%dn",n); continue;case 0:exit(0);printf("%dn",n);以下關(guān)于程序段執(zhí)行情況的敘述,正確的是A)for循環(huán)語句固定執(zhí)行8次B)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時(shí)結(jié)束循環(huán)操作C)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時(shí)不做任何操作D)當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0

30、時(shí)結(jié)束程序運(yùn)行(21)有以下程序#include main() char s="012xy08s34f4w2"int i,n=0;for(i=0;si!=0;i+)if(si>='0'&&si<='9') n+;printf("%dn",n);程序運(yùn)行后的輸出結(jié)果是A)0 B)3 C)7 D)8(22)若i和k都是int類型變量,有以下for語句for(i=0,k=-1;k=1;k+) printf("*n");下面關(guān)于語句執(zhí)行情況的敘述中正確的是A)循環(huán)體執(zhí)行兩次B)循環(huán)體

31、執(zhí)行一次C)循環(huán)體一次也不執(zhí)行D)構(gòu)成無限循環(huán)(23)有以下程序#include main() char b,c; int i;b='a' c='A'for(i=0;i<6;i+) if(i%2) putchar(i+b);else putchar(i+c); printf("n");程序運(yùn)行后的輸出結(jié)果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)設(shè)有定義:double x10,*p=x;,以下能給數(shù)組x下標(biāo)為6的元素讀入數(shù)據(jù)的正確語句是A)scanf("%f",&x6);

32、 B)scanf("%lf",*(x+6);C)scanf("%lf",p+6); D)scanf("%lf",p6);(25)有以下程序(說明:字母A的ASCII碼值是65)#include void fun(char *s) while(*s) if(*s%2) printf("%c",*s);s+;main() char a="BYTE"fun(a); printf("n");程序運(yùn)行后的輸出結(jié)果是A)BY B)BT C)YT D) YE(26)有以下程序段#inclu

33、de main() while( getchar()!='n');以下敘述中正確的是A)此while語句將無限循環(huán)B) getchar()不可以出現(xiàn)在while語句的條件表達(dá)式中C)當(dāng)執(zhí)行此while語句時(shí),只有按回車鍵程序才能繼續(xù)執(zhí)行D)當(dāng)執(zhí)行此while語句時(shí),按任意鍵程序就能繼續(xù)執(zhí)行(27)有以下程序#include main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf("%dn",y);程序運(yùn)行后的輸出結(jié)果是A)3 B)2 C)1 D) 0(28)若有定義語句:ch

34、ar s310,(*k)3,*p;,則以下賦值語句正確的是A)p=s; B)p=k; C)p=s0; D)k=s;(29)有以下程序#include void fun(char *c) while(*c) if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c+;main() char s81;gets(s); fun(s); puts(s):當(dāng)執(zhí)行程序時(shí)從鍵盤上輸入Hello Beijing<回車>,則程序的輸出結(jié)果是A)hello beijing B)Hello B

35、eijing C)HELLO BEIJING D)hELLO Beijing(30)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。#include #define N 10void fun(int xN) int i=0;while(i<> 在程序中下劃線處應(yīng)填入的是A)x+i B)&xi+1C)x+(i+) D)&x+i(31)有以下程序#include main() char a30,b30;scanf("%s",a);gets(b);printf("%sn %sn",a,b);程序運(yùn)行時(shí)若輸入:how ar

36、e you? I am fine<回車>則輸出結(jié)果是A)how are you? B)howI am fine are you? I am fineC)how are you? I am fine D)row are you?(32)設(shè)有如下函數(shù)定義int fun(int k) if (k<1) return 0;else if(k=1) return 1;else return fun(k-1)+1;若執(zhí)行調(diào)用語句:n=fun(3);,則函數(shù)fun總共被調(diào)用的次數(shù)是A)2 B)3 C)4 D)5(33)有以下程序#include int fun (int x,int y)

37、if (x!=y) return (x+y);2);else return (x);main() int a=4,b=5,c=6;printf("%dn",fun(2*a,fun(b,c);程序運(yùn)行后的輸出結(jié)果是A)3 B)6 C)8 D)12(34)有以下程序#include int fun() static int x=1;x*=2;return x;main() int i,s=1;for(i=1;i<=3;i+) s*=fun();printf("%dn",s);程序運(yùn)行后的輸出結(jié)果是A)0 B)10 C)30 D)64(35)有以下程序#

38、include #define S(x) 4*(x)*x+1main() int k=5,j=2;printf("%dn",S(k+j);程序運(yùn)行后的輸出結(jié)果是A)197 B)143 C)33 D)28(36)設(shè)有定義:struct char mark12;int num1;double num2; t1,t2;,若變量均已正確賦初值,則以下語句中錯(cuò)誤的是A)t1=t2; B)t2.num1=t1.num1;C)t2.mark=t1.mark; D)t2.num2=t1.num2;(37)有以下程序#include struct ord int x,y;dt2=1,2,3,

39、4;main()struct ord *p=dt;printf("%d,",+(p->x); printf("%dn",+(p->y);程序運(yùn)行后的輸出結(jié)果是A)1,2 B)4,1 C)3,4 D)2,3(38)有以下程序#include struct S int a,b;data2=10,100,20,200;main() struct S p=data1;printf("%dn",+(p.a);程序運(yùn)行后的輸出結(jié)果是A)10 B)11 C)20 D)21(39)有以下程序#include main() unsigned

40、 char a=8,c;c=a>>3;printf("%dn",c);程序運(yùn)行后的輸出結(jié)果是A)32 B)16 C)1 D)0(40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項(xiàng)中正確的是A)寫操作結(jié)束后可以從頭開始讀 B)只能寫不能讀C)可以在原有內(nèi)容后追加寫 D)可以隨意讀和寫二、填空題(1)有序線性表能進(jìn)行二分查找的前提是該線性表必須是 【1】 存儲的。(2)一棵二叉樹的中序遍歷結(jié)果為DBEAFC,前序遍歷結(jié)果為ABDECF,則后序遍歷結(jié)果為 【2】 。(

41、3)對軟件設(shè)計(jì)的最小單位(模塊或程序單元)進(jìn)行的測試通常稱為 【3】 測試。(4)實(shí)體完整性約束要求關(guān)系數(shù)據(jù)庫中元組的 【4】 屬性值不能為空。(5)在關(guān)系A(chǔ)(S,SN,D)和關(guān)系B(D,CN,NM)中,A的主關(guān)鍵字是S,B的主關(guān)鍵字是D,則稱 【5】 是關(guān)系A(chǔ)的外碼。(6)以下程序運(yùn)行后的輸出結(jié)果是 【6】 。#include main() int a;a=(int)(double)(3/2)+0.5+(int)1.99*2);printf("%dn",a);(7)有以下程序#include main() int x;scanf("%d",&x

42、);if(x>15) printf("%d",x-5);if(x>10) printf("%d",x);if(x>5) printf("%dn",x+5);若程序運(yùn)行時(shí)從鍵盤輸入12<回車>,則輸出結(jié)果為 【7】 。(8)有以下程序(說明:字符0的ASCII碼值為48)#include main() char c1,c2;scanf("%d",&c1);c2=c1+9;printf("%c%cn",c1,c2);若程序運(yùn)行時(shí)從鍵盤輸入48<回車>

43、,則輸出結(jié)果為 【8】 。(9)有以下函數(shù)void prt(char ch,int n) int i;for(i=1;i<=n;i+)printf(i%6!=0?"%c":"%cn",ch);執(zhí)行調(diào)用語句prt('*',24);后,函數(shù)共輸出了 【9】 行*號。(10)以下程序運(yùn)行后的輸出結(jié)果是 【10】 。#include main() int x=10,y=20,t=0;if(x=y)t=x;x=y;y=t;printf("%d %dn",x,y);(11)己知a所指的數(shù)組中有N個(gè)元素。函數(shù)fun的功能是,將

44、下標(biāo)k(k>0)開始的后續(xù)元素全部向前移動(dòng)一個(gè)位置。請?zhí)羁铡oid fun(int aN,int k) int i;for(i=k;i (12)有以下程序,請?jiān)?【12】 處填寫正確語句,使程序可正常編譯運(yùn)行。#include 【12】 ;main() double x,y,(*p)();scanf("%lf%lf",&x,&y);p=avg;printf("%fn",(*p)(x,y);double avg(double a,double b) return(a+b)/2);(13)以下程序運(yùn)行后的輸出結(jié)果是 【13】 。#in

45、clude main() int i,n5=0;for(i=1;i<=4;i+) ni=ni-1*2+1; printf("%d",ni); printf("n");(14)以下程序運(yùn)行后的輸出結(jié)果是 【14】 。#include #include #include main() char *p; int i;p=(char *)malloc(sizeof(char)*20);strcpy(p,"welcome");for(i=6;i>=0;i-) putchar(*(p+i);printf("n-")

46、; free(p);(15)以下程序運(yùn)行后的輸出結(jié)果是 【15】 。#include main() FILE *fp; int x6=1,2,3,4,5,6,i;fp=fopen("test.dat","wb");fwrite(x,sizeof(int),3,fp);rewind(fp);fread(x,sizeof(int),3,fp);for(i=0;i<6;i+) printf("%d",xi);printf("n");fclose(fp);2011年9月全國計(jì)算機(jī)等級考試二級筆試試卷 C語言程序設(shè)計(jì)

47、(考試時(shí)間90分鐘,滿分100分) 一、選擇題(1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分) 下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請將正確選項(xiàng)填涂在答題卡相應(yīng)位置上答在試卷上不得分。 (1)下列敘述中正確的是( )。 A)算法就是程序 B)設(shè)計(jì)算法時(shí)只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) C)設(shè)計(jì)算法時(shí)只需要考慮結(jié)果的可靠性 D)以上三種說法都不對 (2)下列關(guān)于線性鏈表的敘述中,正確的是( )。 A)各數(shù)據(jù)結(jié)點(diǎn)的存儲空間可以不連續(xù),但它們的存儲順序與邏輯順序必須一致 B)各數(shù)據(jù)結(jié)點(diǎn)的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續(xù) C

48、)進(jìn)行插入與刪除時(shí),不需要移動(dòng)表中的元素 D)以上三種說法都不對 (3)下列關(guān)于二叉樹的敘述中,正確的是( )。 A)葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)少一個(gè) B)葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè) c)葉子結(jié)點(diǎn)數(shù)是度為2的結(jié)點(diǎn)數(shù)的兩倍 D)度為2的結(jié)點(diǎn)數(shù)是度為1的結(jié)點(diǎn)數(shù)的兩倍 (4)軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是( )。 A)學(xué)生成績管理系統(tǒng) B)C語言編譯程序 C)UNIX操作系統(tǒng) D)數(shù)據(jù)庫管理系統(tǒng) (5)某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示: 該系統(tǒng)總體結(jié)構(gòu)圖的深度是( )。 A)7 B)6 C)3 D)2 (6)程序調(diào)試的任務(wù)是( )。 A)

49、設(shè)計(jì)測試用例 B)驗(yàn)證程序的正確性 C)發(fā)現(xiàn)程序中的錯(cuò)誤 D)診斷和改正程序中的錯(cuò)誤 (7)下列關(guān)于數(shù)據(jù)庫設(shè)計(jì)的敘述中,正確的是( )。 A)在需求分析階段建立數(shù)據(jù)字典 B)在概念設(shè)計(jì)階段建立數(shù)據(jù)字典 C)在邏輯設(shè)計(jì)階段建立數(shù)據(jù)字典 D)在物理設(shè)計(jì)階段建立數(shù)據(jù)字(8)數(shù)據(jù)庫系統(tǒng)的三級模式不包括( )。 A)概念模式 B)內(nèi)模式 C)外模式 D)數(shù)據(jù)模式 (9)有三個(gè)關(guān)系R、S利T如下: 則由關(guān)系R和s得到關(guān)系T的操作是( )。 A)自然連接 B)差 C)交 D)并 (10)下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是( )。 A)繼承 B)自頂向下 C)模塊化 D)逐步求精(11)以下敘述中錯(cuò)誤

50、的是(    )。A)C語言編寫的函數(shù)源程序,其文件名后綴可以是CB)C語言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件C)C語言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行D)一個(gè)C語言程序只能有一個(gè)主函數(shù)(12)以下選項(xiàng)中關(guān)于程序模塊化的敘述錯(cuò)誤的是(    )。A)把程序分成若干相對獨(dú)立的模塊,可便于編碼和調(diào)試B)把程序分成若干相對獨(dú)立、功能單一的模塊,可便于重復(fù)使用這些模塊c)可采用自底向上、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序D)可采用自項(xiàng)向下、逐步細(xì)化的設(shè)計(jì)方法把若干獨(dú)立模塊組裝成所要求的程序(13)以下選項(xiàng)中關(guān)于c

51、語言常量的敘述錯(cuò)誤的是(    )。A)所謂常量,是指在程序運(yùn)行過程中,其值不能被改變的量B)常量分為整型常量、實(shí)型常量、字符常量和字符串常量c)常量可分為數(shù)值型常量和非數(shù)值型常量D)經(jīng)常被使用的變量可以定義成常量(14)若有定義語句:int a=10;double b=314;,則表達(dá)式'A'+a+b值的類型是(    )。A)char    B)int    C)double    D)float(15)若有定義語句:int

52、x=12,3=8,z;,在其后執(zhí)行語句z=09+x/y;,則Z的值為(    )。A)19    B)1    C)2 D)24(16)若有定義:int a,b;,通過語句scanf("d;d",&a,&b);,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是(    )。A)3 5    B)3,5    C)3;5   D)35(17)若有定義語句:intk1

53、=10,k2=20;,執(zhí)行表達(dá)式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分別為(    )。A)0和1    B)0和20    C)10和1    D)10和20(18)有以下程序    #include    main()    int a=1,b=0;    if(-a)  b+; 

54、   else if(a=0)b+=2:    else b+=3:    printf("dn",b);    )    程序運(yùn)行后的輸出結(jié)果是(    )。A)0    B)1    C)2 D)3(19)下列條件語句中,輸出結(jié)果與其他語句不同的是(    )。A)if(a)printf("d-n&quo

55、t;,x);    else printf("dn",y);B)if(a0)printf("dn",y);  else printf("dn",x);C)if(a!=0)p由tf("dn",x);  else printf("dn",y);D)if(a=0)printf("dn",x);  else printf("dn",y);(20)有以下程序#includemain()int a=7;while(a-);printf("dn",a);)程序運(yùn)行后的輸出結(jié)果是(    )。A)-1    B)0    C)1    D)7(21)以下不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論