




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、.2006年4月全國計算機等級考試二級C語言筆試試題(含參考答案)一選擇題(1)-(10)每題2分,(11)-(50)每題1分,共60分) 下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。 1)下列選項中不屬于結(jié)構(gòu)化程序設(shè)計方法的是 A) 自頂向下 B)逐步求精 C)模塊化 D)可復(fù)用 &
2、#160; 2)兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為 A)耦合度 B)內(nèi)聚度 C)復(fù)雜度 D)數(shù)據(jù)傳輸特性 3)下列敘述中正確的是 A)軟件測試應(yīng)該由程序開發(fā)者來完成 B)程序經(jīng)調(diào)試后一般不需要再測試
3、160;C)軟件維護只包括對程序代碼的維護 D)以上三種說法都不對 4)按照“后進先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 A)隊列 B)棧 C)雙向鏈表 D)二叉樹 5)下列敘述中正確的是 A)線性鏈表是線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)
4、160; B)棧與隊列是非線性結(jié)構(gòu) C)雙向鏈表是非線性結(jié)構(gòu) D)只有根結(jié)點的二叉樹是線性結(jié)構(gòu) 6)對如下二叉樹 進行后序遍歷的結(jié)果為 A) ABCDE
5、F B) DBEAFC C) ABDECF D) DEBFCA 7)在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為 A)32 B)31 C)64 D)63 8)“商品”與“顧客”兩個實體集之間的聯(lián)系一般是 A)一對一 B)一對多 C)多對一 &
6、#160;D)多對多 9)在E-R圖中,用來表示實體的圖形是 A)矩形 B)橢圓形 C)菱形 D)三角形 10)數(shù)據(jù)庫DB,數(shù)據(jù)庫系統(tǒng)DBS,數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是 A)DB包含DBS和DBMS B)DBMS包含DB和
7、DBS C)DBS包含DB和DBMS D)沒有任何關(guān)系 11)以下不合法的用戶標(biāo)識符是 A)j2_KEY B)Double C) 4d D) _8_ 12)以下不合法的數(shù)值常量是 A)0
8、11 B)lel C) 8.0 E0.5 D) 0xabcd 13)以下不合法的字符常量是 A)'018' B)'”' C) '' D) xcc' 14)表達(dá)式3.6-5/2+1.2+5%2的值是 A)
9、4.3 B) 4.8 C) 3.3 D) 3.8 15)以下能正確定義字符串的語句是 A)char str=064' B) char str=”x43”; C) char str=”; D) char str=”0”; &
10、#160; 16)以下數(shù)組定義中錯誤的是 A) int x3=0; B) int x23=1,2,3,4,5,6; C) nt x3=1,2,3,4,5,6; D)int x23=1,2,3,4,5,6; 17)若要求從鍵盤讀入含有
11、空格字符的字符串,應(yīng)使用函數(shù) A)getc() B) gets() C) getchar() D) scanf() 18) 下四個程序中,完全正確的是 A)#includeB)#include main(); main() /*
12、programming*/ /*/programming/*/ printf(“programming!n”);printf(“programming!n”); C) #includeD) include main() main() /*/*programming*/*/ /*programming*/
13、60; printf(“programming!n”);printf(“programming!n”); 19)若有定義:float x=1.5; int a=1,b=3,c=2;則正確的switch語句是 A)switch(x)B) switch(int)x); case 1.0: printf(“*n”);case 1: printf(“*n”
14、); Case 2.0: printf(“*n”);case 2: printf(“*n”); C) switch(a+b) D) switch(a+b) case 1: printf(“*n”); case 1: printf(*n”); case 2+1: printf(“*n”); case c: pr
15、intf(“*n”); 20)若各選項中所用變量已正確定義,函數(shù)fun中通過return語句返回一個函數(shù)值,以下選項中錯誤的程序是 A)main()B) float fun(int a,int b) x=fun(2,10); main() float fun(int a,int b)x=fun(i,j);
16、60; C)float fun(int,int);D) main() main() float fun(int i,int j); x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b) 21)在以下給出的表達(dá)式中,
17、與while(E)中的(E)不等價的表達(dá)式是 A)(!E=0) B) (E>0|E<0) C) (E=0) D) (E!=0) 22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是 A) while(ch=getchar()!='N') printf(“%c”,ch); &
18、#160;B) while(ch=getchar()!='N') printf(“%c”,ch); C) while(ch=getchar()=N') printf(“%c”,ch); D) while(ch=getchar()='N') printf(“%c”,ch); 23)已定義以下函數(shù) i
19、nt fun(int *p) return *p; fun 函數(shù)返回值是 A)不確定的值 B)一個整數(shù) C)形參p中存放的值 D)形參p的地址值 24)若有說明語句:double *p,a;則能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是 A)*p=&a;
20、scanf(“%lf”,p); B)*p=&a; scanf(“%f”,p); C) p=&a; scanf(“%lf”,*p); D)p=&a; scanf(“%lf”,p); 25)現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p,q,r分別指向一個鏈表中連續(xù)的三個結(jié)點。 struct node
21、 char data; struct node *next; *p,*q,*r; 現(xiàn)要將q和r所指結(jié)點交換前后位置,同時要保持鏈表的連續(xù),以下不能完成此操作的語句是 A)q->
22、next=r->next; p->next=r; r->next=q; B) p->next=r; q->next=r->next; r-.next=q; C) q->next=r->next; r->next=q; p->next=r; D) r->next=q; p-next=r; q-next=r->nex
23、t; 26)有以下程序段 struct st int x; int *y;*pt: int a=1,2,b=3,4; struct st c2=10,a,20,b; pt=c;
24、160; 以下選項中表達(dá)式的值為11的是 A) *pt->y B) pt->x C) +pt->x D) (pt+)->x 27)設(shè)fp為指向某二進制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為 A)EOF B)非0值 C) 0 D)NUL
25、L 28)設(shè)有以下語句 int a=1,b=2,c; c=a(b<<2); 執(zhí)行后,c的值為 A) 6 B) 7 C) 8 D) 9 29)有以下程序
26、; #include main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=
27、getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%cn”,c5,c6); 程序運行后,若從鍵盤輸入(從第1列開始) 123<回車>
28、; 45678<回車> 則輸出結(jié)果是 A)1267 B)1256 C)1278 D)1245 30)若有以下程序 main() int y=10; &
29、#160; while(y- -); printf(“y=%dn”y); 程序運行后的輸出結(jié)果是 A)y=0 B)y=-1 C)y=1 D)while構(gòu)成無限循環(huán) 31)有以下程序 main() &
30、#160; int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%dn”,a,b,c,d);
31、0; 程序輸出 A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)編譯有錯 32)有以下程序 main() int i,j,x=0;
32、 for(i=0;i<2;i+) V x+; for(j=0;j<=3;j+) if(j%2) continue; x+;
33、60; x+; printf(“x=%dn”,x); 程序執(zhí)行后的輸出結(jié)果是 A)x=4 B) x=8 C) x=6 D) x=12
34、; 33)有以下程序 int fun1(double a)return a*=a; int fun2(double x,double y) double a=0,b=0; a=fun1(x); b=fun1(y); r
35、eturn (int)(a+b); main() double w; w=fun2(1.1,2.0); 程序執(zhí)行后變量w中的值是 A)5.21 B) 5 C) 5.0 D) 0.0
36、; 34)有以下程序 main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i<3;i+) printf(“%d”,t2-ii);
37、; 程序的執(zhí)行后的輸出結(jié)果是 A)7 5 3 B) 3 5 7 C)3 6 9 D)7 5 1 35)有以下程序 fun(char p10) int n=0,i; for(i=0;i<7;i+)
38、0; if(pi0='T') n+; return n; main() char str10=“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”S
39、at”,”Sun”; printf(“%dn”,fun(str); 程序執(zhí)行后的輸出結(jié)果是 A)1 N B) 2 C)3 D) 0 36)有以下程序 main()
40、60; int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i<9;i+=2) s+=*(t+i); printf(“%dn”,s); 程序執(zhí)行后的輸出結(jié)果
41、是 A)45 B)20 C)25 D)36 37)有以下程序 void fun1(char *p) char *q; q=p; &
42、#160; while(*q!='0') (*q)+; q+; main() char a=“Program”,*p; p=&a3; fun1(p); printf(“%sn”,a);
43、 程序執(zhí)行后的輸出結(jié)果是 A)P rohsbn B)Prphsbn C)Progsbn D)Program 38)有以下程序 void swap(char *x,char *y)
44、 char t; t=*x; *x=*y; *y=t; main() char *s1=”abc”,*s2=”123”;
45、0; swap(s1,s2); printf(“%s,%sn”,s1,s2); 程序執(zhí)行后的輸出結(jié)果是 A)123,abc B) abc,123 C) 1bc,a23 D) 321,cba 39)有以下程序
46、0; int fun(int n) if(n=1) return 1; else return (n+fun(n-1); main()
47、0; int x; scanf(“%d”,&x); x=fun(x); printf(“%dn”,x); 程序執(zhí)行時,給變量x輸入10,程序的輸出結(jié)果是 A)55 B) 54 C) 65 D) 45
48、160;40)有以下程序 int fun(int x,int n) static int sum=0,i; for(i=0;i sum+=xi; return sum; main
49、() int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4); printf(“%dn”,s); 程序執(zhí)行后的輸出結(jié)果是 A)45 B)50 C)60 D)55
50、160; 41)有以下程序 main() union char ch2; int d; s; &
51、#160; s.d=0x4321; printf(“%x,%xn”,s.ch0,s.ch1); 在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是 A)21,43 B)43,21 C)43,00 D)21,00 42)有以下程序
52、160; main() char *p=“3697”,”2584”; int i,j; long num=0; for(i=0;i<2;i+) j=0;
53、0; while(pij!='0') if(pij-0')%2)num=10*num+pij-0' j+=2; printf(“%dn”num);
54、60; 程序執(zhí)行后的輸出結(jié)果是 A)35 B)37 C)39 D)3975 43)執(zhí)行以下程序后,test.txt文件的內(nèi)容是(若文件能正常打開) #include main() FILE *fp;
55、160; char *s1=”Fortran”,*s2=”Basic”; if(fp=fopen(“test.txt”,”wb”)=NULL) printf(“Can't open test.txt filen”); exit(1); fwrite(s1,7,1,fp); /*把從地址s1開始的7個字符寫到fp所指文件中
56、*/ fseek(fp,0L,SEEK_SET); /*文件位置指針移到文件開頭*/ fwrite(s2,5,1,fp); fclose(fp); A)Basican B)BasicFortran C)Basic D)FortranBasic
57、60; 44)以下敘述中錯誤的是 A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序 B)C語言經(jīng)過編譯、連接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件 C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中 D)C語言的每條可執(zhí)行語句和非執(zhí)行語句最終都
58、將被轉(zhuǎn)換成二進制的機器指令 45)以下敘述中錯誤的是 A)算法正確的程序最終一定會結(jié)束 B)算法正確的程序可以有零個輸出 C)算法正確的程序可以有零個輸入 D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果 46)以下敘述中錯誤的
59、是 A)C程序必須由一個或一個以上的函數(shù)組成 B)函數(shù)調(diào)用可以作為一個獨立的語句存在 C)若函數(shù)有返回值,必須通過return語句返回 D)函數(shù)形參的值也可以傳回對應(yīng)的實參 47)設(shè)有以下定義和語句 ch
60、ar str20=”Program”,*p; p=str; 則以下敘述中正確的是 A)*p與str0中的值相等 B)str與p的類型完全相同 C)str數(shù)組長度和p所指向的字符串長度相等
61、160;D)數(shù)組str中存放的內(nèi)容和指針變量p中存放的內(nèi)容相同 48)以下敘述中錯誤的是 A)C程序中的#include和#define行均不是C語句 B)除逗號運算符外,賦值運算符的優(yōu)先級最低 C)C程序中,j+;是賦值語句 D)C程序中,+、-、*、/、%號是算術(shù)運算符
62、,可用于整型和實型數(shù)的運算 49)以下敘述中正確的是 A)預(yù)處理命令行必須位于C源程序的起始位置 B)在C語言中,預(yù)處理命令行都以“#”開頭 C)每個C程序必須在開頭包括預(yù)處理命令行:#include D)C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能
63、 50)以下敘述中錯誤的是 A)可以通過typedef增加新的類型 B)可以用typedef將已存在的類型用一個新的名字來代表 C)用typedef定義新的類型名后,原有類型名仍有效 D)用typedef可以為各種類型起別名,但不能為變量起別名二:填空題(每空2分,共40分)
64、; 請將每一個空的正確答案寫在答題卡1至20序號的橫線上,答在試卷上不得分 1)對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為_1_。 2)在面向?qū)ο蠓椒ㄖ?,_2_描述的是具有相似屬性與操作的一組對象。 3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個_3_。 4)程序測試分為靜態(tài)分析和動態(tài)測試,其中_4_是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析
65、和發(fā)現(xiàn)程序中的錯誤。 5)數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性,當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為_5_。 6)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的輸出語句_6_。 7)以下程序用于判斷a,b,c能否構(gòu)成三角形,若能輸出YES,若不能輸出NO。當(dāng)a,b,c輸入三角形三條邊長時,確定a,b,c能構(gòu)成三角形的條件是需要同時滿足三條件:
66、a+b>c,a+c>b,b+c>a。請?zhí)羁铡?#160; main() float a,b,c; scanf(“%f%f%f”,&a,&b,&c); if(_7_)printf(“YESn”);/*a,b,c能構(gòu)成三角
67、形*/ else printf(“NOn”);/*a,b,c不能構(gòu)成三角形*/ 8)以下程序的輸出結(jié)果是_8_ main() int a33=1,2,9,3,4,8,5,6,7,i,s=0; for(
68、i=0;i<3;i+) s+=aii+ai3-i-1; printf(“%dn”,s); 9)當(dāng)運行以下程序時,輸入abcd,程序的輸出結(jié)果是:_9_。 insert(char str) int i;
69、160;i=strlen(str); while(i>0) str2*i=stri; str2*i-1='*'i-; printf(“%sn”,str); main()
70、0; char str40; scanf(“%s”,str ); insert(str); 10)以下程序的運行結(jié)果是:_10_ fun(int t,int n) int i,m; if(n
71、=1) return t0; else if(n>=2) m=fun(t,n-1); return m; main() int a=11,4,6,3,8,2,3,5,9,
72、2; printf(“%dn”,fun(a,10); 11)現(xiàn)有兩個C程序文件T18.c和myfun.c同時在TC系統(tǒng)目錄(文件夾)下,其中T18.c文件如下: #include #include”myfun.c”
73、; main() fun(); printf(“n”); myfun.c文件如下: void fun() char s80,c; int n=0; while(c=getchar()!='n') sn+=c;
74、; n-; while(n>=0) printf(“%c”,sn-); 當(dāng)編譯連接通過后,運行程序T18時,輸入Thank!則輸出的結(jié)果是:_11 。 12)以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為Hello!
75、, c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請?zhí)羁铡?#160; char *fun(char *str,char c) int n=0;char *p=str; if(p!=NULL) while(pn!=c&&pn!='0&
76、#39;) n+; if(pn='0' return NULL; return (_12_); 13)以下程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?#160; main()
77、160; int i,j; for(i=0;_13_;i+) j=i*10+6; if(_14_) continue; printf(“%d ”,j); 14)以下isprime函數(shù)的功
78、能是判斷形參a是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0,請?zhí)羁?#160; int isprime(int a) int i; for(i=2;i<=a/2;i+) if(a%i=0) _15_; _16_; 15)以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形,例如,輸入整數(shù)5時(注意:n不得大于10),程序運行結(jié)果如下: A B C D E F G H I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘豫名校聯(lián)考2024-2025學(xué)年高三下學(xué)期第二次模擬考試語文試卷(圖片版無答案)
- 【道路運輸企業(yè)主要負(fù)責(zé)人】理論考題及答案
- 2025個人向個人借款的合同
- 2025農(nóng)田租賃合同書下載
- 2025租房合同模板下載3
- 高校畢業(yè)生創(chuàng)業(yè)扶持政策全新實施方案
- 長春建筑學(xué)院《鐵路行車織》2023-2024學(xué)年第二學(xué)期期末試卷
- 證券從業(yè)資格考試題庫與答案(A卷)
- 九州職業(yè)技術(shù)學(xué)院《工程項目成本規(guī)劃與控制》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東藝術(shù)學(xué)院《期貨投資》2023-2024學(xué)年第二學(xué)期期末試卷
- 瑞幸加盟合同范本
- CJJ 122-2017 游泳池給水排水工程技術(shù)規(guī)程
- 【人教部編版】五年級語文下冊第13課《人物描寫一組 摔跤》教學(xué)課件
- 讀書分享讀書交流會《四世同堂》
- 2024年人教精通版四年級下冊英語期末專項復(fù)習(xí)-閱讀理解
- 中醫(yī)推拿基礎(chǔ)培訓(xùn)課件
- 防電信詐騙安全教案
- 產(chǎn)品履歷表完
- 保健食品備案產(chǎn)品可用輔料及其使用規(guī)定
- 肺癌伴胸腔積液護理查房
- 健康管理中的健康教育與健康促進研究
評論
0/150
提交評論