全國計算機(jī)等級考試二級C語言筆試題及答案_第1頁
全國計算機(jī)等級考試二級C語言筆試題及答案_第2頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.2005年4月全國計算機(jī)等級考試二級C語言筆試試題及答案一、選擇題110每題2分,1150每題1分,共60分以下各題A、B、C、D四個選項中,只有一個選項是正確的,請將正確的選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。1數(shù)據(jù)的存儲構(gòu)造是指_。 A存儲在外存中的數(shù)據(jù) B數(shù)據(jù)所占的存儲空間量C數(shù)據(jù)在計算機(jī)中的順序存儲方式 D數(shù)據(jù)的邏輯構(gòu)造在計算機(jī)中的表示2以下關(guān)于棧的描述中錯誤的選項是_。 A 棧是先進(jìn)后出的線性表B棧只能順序存儲C棧具有記憶作用D對棧的插入與刪除操作中,不需要改變棧底指針3對于長度為n的線性表,在最壞情況下,以下各排序法所對應(yīng)的比擬次數(shù)中正確的選項是_。A冒泡排序為n/2 B

2、冒泡排序為nC快速排序為n D快速排序為n(n-1)/24對長度為n的線性表進(jìn)展順序查找,在最壞情況下所需要的比擬次數(shù)為_。Alog2n Bn/2 Cn Dn+15以下對于線性鏈表的描述中正確的選項是_。A 存儲空間不一定是連續(xù),且各元素的存儲順序是任意的B存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面C存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面D存儲空間必須連續(xù),且各元素的存儲順序是任意的6以下對于軟件測試的描述中正確的選項是_。A軟件測試的目的是證明程序是否正確B軟件測試的目的是使程序運(yùn)行結(jié)果正確C軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤D軟件測試的目的是使程序符合構(gòu)

3、造化原那么7為了使模塊盡可能獨(dú)立,要求_。A 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱C模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)8以下描述中正確的選項是_。A程序就是軟件 B軟件開發(fā)不受計算機(jī)系統(tǒng)的限制C軟件既是邏輯實體,又是物理實體D軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合9數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一,所謂數(shù)據(jù)獨(dú)立性是指_。A數(shù)據(jù)與程序獨(dú)立存放B不同的數(shù)據(jù)被存放在不同的文件中C不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用D以上三種說法都不對10用樹形構(gòu)造表示實體之間聯(lián)

4、系的模型是_。A關(guān)系模型 B網(wǎng)狀模型 C層次模型 D以上三個都是11算法具有五個特性,以下選項中不屬于算法特性的是_。A有窮性 B簡潔性 C可行性 D確定性12以下選項中可作為C語言合法常量的是_。A-80. B-080 C-8e1.0 D-80.0e13以下表達(dá)中正確的選項是_。A用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要輸入C用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出14以下不能定義為用戶標(biāo)識符的是_。AMain B_0 C_int Dsizeof15以下選項中不能作為合法常量的是_。A1.234e04 B

5、1.234e0.4 C1.234e+4 D1.234e016數(shù)字字符0的ASCII值為48,假設(shè)有以下程序main() char a='1',b='2 'printf("%c,",b+);printf("%dn",b-a);程序運(yùn)行后的輸出結(jié)果是_。A 3,2 B50,2 C2,2 D2,5017有以下程序main() int m=12,n=34;printf("%d%d",m+,+n);printf("%d%dn",n+,+m);程序運(yùn)行后的輸出結(jié)果是_。A BC D18有定義語句

6、:int b;char c10;,那么正確的輸入語句是_。A scanf("%d%s",&b,&c); Bscanf("%d%s",&b, c);Cscanf("%d%s",b, c); D scanf("%d%s",b,&c); 來源:考試大-計算機(jī)二級考試19有以下程序main() int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%dn",m,n,p);假設(shè)想

7、從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,p中的值為789,那么正確的輸入是_。Am=123n=456p=789 Bm=123 n=456 p=789 Cm=123,n=456,p=789 D123 456 78920有以下程序main() int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%dn",a,b);程序運(yùn)行后的輸出結(jié)果是_。A6,1 B2,1 C6,0 D2,021有以下程序main() int i=1,j=2,k=3; if(i+=1&&(+j=3|k+=3) printf(

8、"%d %d %dn",i,j,k); 程序運(yùn)行后的輸出結(jié)果是_。A1 2 3 B2 3 4 C 2 2 3 D2 3 322假設(shè)整型變量a、b、c、d中的值依次為:1、4、3、2。那么條件表達(dá)式aA1 B2 C3 D423有以下程序main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+<7) if(pi%2) j+=pi; printf("%dn",j); 程序運(yùn)行后的輸出結(jié)果是_。A42 B45 C56 D6024有以下程序main() char a7="a00a00"

9、 int i,j; i=sizeof(a); j=strlen(a); printf("%d %dn",i,j); 程序運(yùn)行后的輸出結(jié)果是_。A2 2 B7 6 C7 2 D6 225以下能正確定義一維數(shù)組的選項是_。Aint a5=0,1,2,3,4,5; Bchar a=0,1,2,3,4,5;Cchar a='A','B','C' Dint a5="0123"26有以下程序int f1(int x,int y)return x>y"x:y; int f2(int x,int y)ret

10、urn x>y"y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf("%d,%d,%dn",e,f,g); 程序運(yùn)行后的輸出結(jié)果是_。A4,3,7 B3,4,7 C5,2,7 D2,5,727已有定義:char a="xyz",b='x','y','z',以下表達(dá)中正確的選項是_。A數(shù)組a和b的長度一樣 Ba數(shù)組長度小于b數(shù)組長度Ca數(shù)

11、組長度大于b數(shù)組長度 D上述說法都不對28有以下程序void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q=&a7; while(pf(p,q);p+;q-;for(i=0;i<8;i+)printf("%d,",ai);程序運(yùn)行后的輸出結(jié)果是_。A8,2,3,4,5,6,7,1, B5,6,7,8,1,2,3,4, C1,2,3,4,5,6,7,8, D8,7,6,5,4,3,2,1,29有以下程序main() int a33,*p,

12、i; p=&a00; for(i=0;i<9;i+)pi=i; for(i=0;i<3;i+)printf("%d",a1i); 程序運(yùn)行后的輸出結(jié)果是_。A012 B123 C234 D345 來源:考試大-計算機(jī)二級考試30以下表達(dá)中錯誤的選項是_。A對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)展整體輸入或輸出B數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變C當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)X圍時,系統(tǒng)將給出“下標(biāo)越界的出錯信息D可以通過賦初值的方式確定數(shù)組元素的個數(shù)31有以下程序*define N 20 fun(int a,

13、int n,int m) int i,j; for(i=m;i>=n;i-)ai+1=ai; main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i<5;i+)printf("%d",ai); 程序運(yùn)行后的輸出結(jié)果是_。A10234 B12344 C12334 D1223432有以下程序main() int a32=0,(*ptr)2,i,j; for(i=0;i<2;i+) ptr=a+i; scanf("%d",ptr); ptr+; for(i=0;i<3;i+

14、) for(j=0;j<2;j+) printf("-",aij); printf("n"); 假設(shè)運(yùn)行時輸入:1 2 3<回車>,那么輸出結(jié)果是_。A產(chǎn)生錯誤信息 B1 0 C1 2 D1 02 0 3 0 2 00 0 0 0 3 033有以下程序prt(int *m,int n) int i; for(i=0;i main() int a=1,2,3,4,5,i; prt(a,5); for(i=0;i<5;i+) printf("%d,",ai); 程序運(yùn)行后的輸出結(jié)果是_。A1,2,3,4,5, B2

15、,3,4,5,6, C3,4,5,6,7, D2,3,4,5,1,34有以下程序main() int a=1,2,3,4,5,6,7,8,9,0,*p; for(p=a;p程序運(yùn)行后的輸出結(jié)果是_。A1,2,3,4,5,6,7,8,9,0, B2,3,4,5,6,7,8,9,10,1, C0,1,2,3,4,5,6,7,8,9, D1,1,1,1,1,1,1,1,1,1,35有以下程序*define P 3 void F(int x)return(P*x*x); main() printf("%dn",F(3+5);程序運(yùn)行后的輸出結(jié)果是_。A192 B29 C25 D編譯

16、出錯36有以下程序main() int c=35;printf("%dn",c&c);程序運(yùn)行后的輸出結(jié)果是_。A0 B70 C35 D137以下表達(dá)中正確的選項是_。A預(yù)處理命令行必須位于源文件的開頭B在源文件的一行上可以有多條預(yù)處理命令C宏名必須用大寫字母表示D宏替換不占用程序的運(yùn)行時間 來源:考試大-計算機(jī)二級考試38假設(shè)有以下說明和定義union dt int a;char b;double c;data;以下表達(dá)中錯誤的選項是_。Adata的每個成員起始地址都一樣B變量data所占的內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C程序段:data.a=5;printf(

17、"%fn",data.c);輸出結(jié)果為5.Ddata可以作為函數(shù)的實參39以下語句或語句組中,能正確進(jìn)展字符串賦值的是_。Achar *sp;*sp="right!" Bchar s10;s="right!" Cchar s10;*s="right!" Dchar *sp="right!"40設(shè)有如下說明typedef struct ST long a;int b;char c2;NEW;那么下面表達(dá)中正確的選項是_。A以上的說明形式非法 BST是一個構(gòu)造體類型CNEW是一個構(gòu)造體類型 DNEW

18、是一個構(gòu)造體變量41有以下程序main() int a=1,b; for(b=1;b<=10;b+) if(a>=8)break; if(a%2=1)a+=5;continue; a-=3; printf("%dn",b); 程序運(yùn)行后的輸出結(jié)果是_。A3 B4 C5 D642有以下程序main() char s="159",*p; p=s; printf("%c",*p+);printf("%c",*p+); 程序運(yùn)行后的輸出結(jié)果是_。A15 B16 C12 D5943有以下函數(shù)fun(char *a

19、,char *b) while(*a!='0')&&(*b!='0')&&(*a=*b) a+;b+; return(*a-*b); 該函數(shù)的功能是_。A計算a和b所指字符串的長度之差B將b所指字符串連接到a所指字符串中C將b所指字符串連接到a所指字符串后面D比擬a和b所指字符串的大小44有以下程序main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i<4;i+) for(j=0;j<=i;j+) printf("L&quo

20、t;,' '); for(j=_;j<4;j+) printf("M",numij); printf("n"); 假設(shè)要按以下形式輸出數(shù)組右上半三角1 2 3 4 6 7 8 11 12 16那么在程序下劃線處應(yīng)填入的是_。Ai-1 Bi Ci+1 D4-i 來源:考試大-計算機(jī)二級考試45有以下程序point(char *p)p+=3; main() char b4='a','b','c','d',*p=b; point(p);printf("%cn&quo

21、t;,*p); 程序運(yùn)行后的輸出結(jié)果是_。Aa Bb Cc Dd46程序中假設(shè)有如下說明和定義語句char fun(char *); main() char *s="one",a5=0,(*f1)()=fun,ch; . 以下選項中對函數(shù)fun的正確調(diào)用語句是_。A(*f1)(a); B*f1(*s); Cfun(&a); Dch=*f1(s);47有以下構(gòu)造體說明和變量定義,如下圖:struct node int data; struct node *next; *p,*q,*r;data next data next data nextp q r現(xiàn)要將q所指結(jié)點(diǎn)

22、從鏈表中刪除,同時要保持鏈表的連續(xù),以下不能完成指定操作的語句是_。AP->next=q->next; Bp->next=p->next->next; Cp->next=r; Dp=q->next;48以下對構(gòu)造體類型變量td的定義中,錯誤的選項是_。Atypedef struct aa Bstruct aa int n; int n;float m; float m;AA; td;AA td; struct aa td;Cstruct Dstruct int n; int n;float m; float m;aa; td;struct aa td;

23、49以下與函數(shù)fseek(fp,0L,SEEK_SET)有一樣作用的是_。Afeof(fp) Bftell(fp) Cfgetc(fp) Drewind(fp)50有以下程序*include void WriteStr(char *fn,char *str) FILE *fp; fp=fopen(fn,"w");fputs(str,fp);fclose(fp); main() WriteStr("t1.dat","start"); WriteStr("t1.dat","end"); 程序運(yùn)行后,

24、文件t1.dat中的內(nèi)容是_。Astart Bend Cstartend Dendrt 來源:考試大-計算機(jī)二級考試二、填空題每空2分,共40分)請將每空的正確答案寫在【1】至【20】序號的橫線上,答在試卷上不得分。1某二叉樹中度為2的結(jié)點(diǎn)有18個,那么該二叉樹中有 【1】 個葉子結(jié)點(diǎn)。2在面向?qū)ο蠓椒ㄖ?,類的實例稱為 【2】 。3診斷和改正程序中錯誤的工作通常稱為 【3】 。4在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為 【4】 。5問題處理方案的正確而完整的描述稱為 【5】 。6以下程序運(yùn)行時,假設(shè)從鍵盤輸入:10 20 30<回車>,輸出的結(jié)果是 【6】 。 *inc

25、lude main() int i=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k);printf("%d%d%dn",i,j,k);7以下程序運(yùn)行后的輸出結(jié)果是 【7】 。 *define S(x) 4*x*x+1main() int i=6,j=8;printf("%dn",S(i+j);8以下程序運(yùn)行后的輸出結(jié)果是 【8】 。 main() int a=3,b=4,c=5,t=99; if(b if(a printf("%d %d %dn",a,b,c);9以下程

26、序運(yùn)行后的輸出結(jié)果是 【9】 。 main() int a,b,c; a=10; b=20; c=(a%b<1)|(a/b>1); printf("%d %d %dn",a,b,c);10以下程序運(yùn)行后的輸出結(jié)果是 【10】 。 main() char c1,c2; for(c1='0',c2='9'c1 printf("n");11字符A的ASCII代碼值為65,以下程序運(yùn)行時假設(shè)從鍵盤輸入:B33<回車>,那么輸出結(jié)果是 【11】 。 *include main() char a,b; a=ge

27、tchar();scanf("%d",&b); a=a-'A'+'0'b=b*2; printf("%c %cn",a,b);12以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請?zhí)羁铡?void fun(int,int,int(*)4,int *);main() int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,b); for(i=0;i<3;i+) printf("M",bi); printf(&qu

28、ot;n");void fun(int m,int n,int ar4,int *br) int i,j,x; for(i=0;i<M;I+) x=ari0; for(j=0;j 【12】 =x; 13以下程序運(yùn)行后的輸出結(jié)果是 【13】 。 void swap(int x,int y) int t; t=x;x=y;y=t;printf("%d %d ",x,y);main() int a=3,b=4; swap(a,b); printf("%d %d",a,b);14以下程序運(yùn)行后的輸出結(jié)果是 【14】 。 *include void

29、 fun(char *s,int p,int k) int i; for(i=p;imain() char s="abcdefg" fun(s,3,strlen(s); puts(s);來源15以下程序運(yùn)行后的輸出結(jié)果是 【15】 。 *include main() char ch="abc",x34; int i; for(i=0;i<3;i+) strcpy(xi,ch); for(i=0;i<3;i+) printf("%s",&xii); printf("n");16以下程序運(yùn)行后的輸出結(jié)果是 【16】 。 fun(int a) int b=0; static int c=3; b+;c+; return(a+b+c);main() int i,a=5; for(i=0;i<3;i+) printf("%d%d",i,fun(a); printf("n");17以下程序運(yùn)行后的輸出結(jié)果是 【17】 。 struct NODE int k; struct NODE *link;main() struct NODE m5,*p=m,*q

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論