




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、.2006年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試試題(含參考答案)一選擇題(1)-(10)每題2分,(11)-(50)每題1分,共60分) 下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。 1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是 A) 自頂向下 B)逐步求精 C)模塊化 D)可復(fù)用 &
2、#160; 2)兩個(gè)或兩個(gè)以上模塊之間關(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)軟件維護(hù)只包括對(duì)程序代碼的維護(hù) D)以上三種說法都不對(duì) 4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是 A)隊(duì)列 B)棧 C)雙向鏈表 D)二叉樹 5)下列敘述中正確的是 A)線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
4、160; B)棧與隊(duì)列是非線性結(jié)構(gòu) C)雙向鏈表是非線性結(jié)構(gòu) D)只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu) 6)對(duì)如下二叉樹 進(jìn)行后序遍歷的結(jié)果為 A) ABCDE
5、F B) DBEAFC C) ABDECF D) DEBFCA 7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為 A)32 B)31 C)64 D)63 8)“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是 A)一對(duì)一 B)一對(duì)多 C)多對(duì)一 &
6、#160;D)多對(duì)多 9)在E-R圖中,用來表示實(shí)體的圖形是 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)識(shí)符是 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ù)組定義中錯(cuò)誤的是 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) 下四個(gè)程序中,完全正確的是 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)若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是 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)不等價(jià)的表達(dá)式是 A)(!E=0) B) (E>0|E<0) C) (E=0) D) (E!=0) 22)要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時(shí)結(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)一個(gè)整數(shù) C)形參p中存放的值 D)形參p的地址值 24)若有說明語句:double *p,a;則能通過scanf語句正確給輸入項(xiàng)讀入數(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分別指向一個(gè)鏈表中連續(xù)的三個(gè)結(jié)點(diǎn)。 struct node
21、 char data; struct node *next; *p,*q,*r; 現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的連續(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; 以下選項(xiàng)中表達(dá)式的值為11的是 A) *pt->y B) pt->x C) +pt->x D) (pt+)->x 27)設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(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); 程序運(yùn)行后,若從鍵盤輸入(從第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); 程序運(yùn)行后的輸出結(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)編譯有錯(cuò) 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í)行時(shí),給變量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個(gè)字符寫到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)以下敘述中錯(cuò)誤的是 A)C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序 B)C語言經(jīng)過編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件 C)用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中 D)C語言的每條可執(zhí)行語句和非執(zhí)行語句最終都
58、將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令 45)以下敘述中錯(cuò)誤的是 A)算法正確的程序最終一定會(huì)結(jié)束 B)算法正確的程序可以有零個(gè)輸出 C)算法正確的程序可以有零個(gè)輸入 D)算法正確的程序?qū)τ谙嗤妮斎胍欢ㄓ邢嗤慕Y(jié)果 46)以下敘述中錯(cuò)誤的
59、是 A)C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成 B)函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在 C)若函數(shù)有返回值,必須通過return語句返回 D)函數(shù)形參的值也可以傳回對(duì)應(yīng)的實(shí)參 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)以下敘述中錯(cuò)誤的是 A)C程序中的#include和#define行均不是C語句 B)除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低 C)C程序中,j+;是賦值語句 D)C程序中,+、-、*、/、%號(hào)是算術(shù)運(yùn)算符
62、,可用于整型和實(shí)型數(shù)的運(yùn)算 49)以下敘述中正確的是 A)預(yù)處理命令行必須位于C源程序的起始位置 B)在C語言中,預(yù)處理命令行都以“#”開頭 C)每個(gè)C程序必須在開頭包括預(yù)處理命令行:#include D)C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
63、 50)以下敘述中錯(cuò)誤的是 A)可以通過typedef增加新的類型 B)可以用typedef將已存在的類型用一個(gè)新的名字來代表 C)用typedef定義新的類型名后,原有類型名仍有效 D)用typedef可以為各種類型起別名,但不能為變量起別名二:填空題(每空2分,共40分)
64、; 請(qǐng)將每一個(gè)空的正確答案寫在答題卡1至20序號(hào)的橫線上,答在試卷上不得分 1)對(duì)長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為_1_。 2)在面向?qū)ο蠓椒ㄖ?,_2_描述的是具有相似屬性與操作的一組對(duì)象。 3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)_3_。 4)程序測試分為靜態(tài)分析和動(dòng)態(tài)測試,其中_4_是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析
65、和發(fā)現(xiàn)程序中的錯(cuò)誤。 5)數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性,當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為_5_。 6)若變量a,b已定義為int類型并賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請(qǐng)寫出完整的輸出語句_6_。 7)以下程序用于判斷a,b,c能否構(gòu)成三角形,若能輸出YES,若不能輸出NO。當(dāng)a,b,c輸入三角形三條邊長時(shí),確定a,b,c能構(gòu)成三角形的條件是需要同時(shí)滿足三條件:
66、a+b>c,a+c>b,b+c>a。請(qǐng)?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)運(yùn)行以下程序時(shí),輸入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)以下程序的運(yùn)行結(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)有兩個(gè)C程序文件T18.c和myfun.c同時(shí)在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)編譯連接通過后,運(yùn)行程序T18時(shí),輸入Thank!則輸出的結(jié)果是:_11 。 12)以下函數(shù)fun的功能是返回str所指字符串中以形參c中字符開頭的后續(xù)字符串的首地址,例如:str所指字符串為Hello!
75、, c中的字符為e,則函數(shù)返回字符串:ello!的首地址。若str所指字符串為空串或不包含c中的字符,則函數(shù)返回NULL。請(qǐng)?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整除且個(gè)位數(shù)為6的所有整數(shù),請(qǐng)?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是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0,請(qǐng)?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時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下: A B C D E F G H I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 硫酸鋁系列商品企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 金屬礦物質(zhì)廢棄物治理服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 地?zé)崴幚碓O(shè)備企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 船板用鋼企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 廢舊輪胎膠粉改性瀝青用稀土助劑企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 衣架企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 農(nóng)用工具企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 電極熱水鍋爐企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報(bào)告
- 稀土鐠鐵合金企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 背光顯示模組企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 【電動(dòng)汽車兩檔AMT自動(dòng)變速器傳動(dòng)結(jié)構(gòu)計(jì)算設(shè)計(jì)9800字(論文)】
- 肩關(guān)節(jié)鏡麻醉管理
- 期中檢測題(含答案)-2024-2025學(xué)年八年級(jí)下學(xué)期道德與法治
- 短期留學(xué)協(xié)議書范本
- 《冠心病》課件(完整版)
- 09BJ13-4 鋼制防火門窗、防火卷簾
- 《心房顫動(dòng)診斷和治療中國指南2023》解讀
- 幼兒園紅色小故事PPT:抗日小英雄王二小的故事
- 三輪車駕駛安全操作規(guī)程(機(jī)動(dòng)三輪車和電動(dòng)三輪車)
- 七年級(jí)下冊(cè)英語閱讀和完型填空訓(xùn)練及答案
- 標(biāo)準(zhǔn)田字格-A4紙空白打印版
評(píng)論
0/150
提交評(píng)論