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

下載本文檔

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

文檔簡(jiǎn)介

1、WOR格 式2005年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)C語言筆試試題及答案1坯一、選擇題(1 )(10 )每小題2分,(11 )(50 )每小題1分,共60 分)下列各題 A)、B )、C)、D )四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確 的選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指 。A .存儲(chǔ)在外存中的數(shù)據(jù)B. 數(shù)據(jù)所占的存儲(chǔ)空間量C. 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D. 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示(2 )下列關(guān)于棧的描述中錯(cuò)誤的是 。A .棧是先進(jìn)后出的線性表B. 棧只能順序存儲(chǔ)C. 棧具有記憶作用D. 對(duì)棧的插入與刪除操作中,不需要改變棧底指針(3)對(duì)于長度為

2、 n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是。A .冒泡排序 為n/2B.冒泡排序n為nC.快速排序 為n(n-1)/2D.快速排序 為(4 )對(duì)長度為 為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)A . Iog2nB.n/2C.nD.n+1(5 )下列對(duì)于線性鏈表的描述中正確的是 。A .存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的B. 存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面C. 存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面D. 存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的(6 )下列對(duì)于軟件測(cè)試的描述中正確的是 。A .軟件測(cè)試

3、的目的是證明程序是否正確B. 軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確C. 軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤D. 軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則(7 )為了使模塊盡可能獨(dú)立,要求 。A .模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)B. 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱專業(yè)資料整理C. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱D. 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)(8) 下列描述中正確的是 。A .程序就是軟件B. 軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制C. 軟件既是邏輯實(shí)體,又是物理實(shí)體D. 軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合(9)

4、數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一,所謂數(shù)據(jù)獨(dú)立性是指A .數(shù)據(jù)與程序獨(dú)立存放B. 不同的數(shù)據(jù)被存放在不同的文件中C. 不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用D. 以上三種說法都不對(duì)(10) 用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是 。A .關(guān)系模型B. 網(wǎng)狀模型C. 層次模型D. 以上三個(gè)都是(11) 算法具有五個(gè)特性,以下選項(xiàng)中不屬于算法特性的是.A .有窮性B. 簡(jiǎn)潔性C. 可行性D. 確定性(12) 以下選項(xiàng)中可作為C語言合法常量的是 。A . -80.B. - 080C. -8e1.0D. -80.0e(13) 以下敘述中正確的是 。A .用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作B. 用C

5、程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要輸入C. 用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出D. 用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出(14) 以下不能定義為用戶標(biāo)識(shí)符的是 。A . MainB. _0C. ntD. sizeof(15) 以下選項(xiàng)中不能作為合法常量的是 。A .1.234e04B.1.234e0.4C.1.234e+4D.1.234e0(16) 數(shù)字字符0的ASCII值為48,若有以下程序main()chara='1',b='2'printf("%c,",b+);printf("%dn",b-a);程序

6、運(yùn)行后的輸出結(jié)果是 。A. 3,2B. 50,2C. 2,2D. 2,50(17) 有以下程序main() int m=12,n=34;printf("%d%d",m+,+n);printf("%d%dn",n+,+m);程序運(yùn)行后的輸出結(jié)果是 。A .B.C.D.(18) 有定義語句:int b;char c10;,則正確的輸入語句是 A . scanf("%d%s",&b,&c);B. scanf("%d%s",&b, c);C. scanf("%d%s",b, c)

7、;D. scanf("%d%s",b,&c);來源:考試大-計(jì)算機(jī)二級(jí)考試19)有以下程序 main() int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%dn",m,n,p);若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123 , n中的值為456, p中的值為789,則正確的輸入是。A .m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789(20) 有以下程序main(

8、) int a,b,d=25;a=d/10%9; b=a&&(-1);printf("%d,%dn",a,b);程序運(yùn)行后的輸出結(jié)果是 。A) 6,1B. 2,1C. 6,0D. 2,0(21) 有以下程序main()int i=1,j=2,k=3;if(i+=1 &&(+j=3|k+=3)printf("%d %d %dn",i,j,k);程序運(yùn)行后的輸出結(jié)果是 。A. 123B. 234C. 223D. 2332。則條件表(22) 若整型變量a、b、c、d中的值依次為:1、4、3、達(dá)式aA .1B. 2C. 3D. 4

9、(23) 有以下程序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é)果是 。A. 42B. 45C. 56D. 60(24) 有以下程序main()char a7="a00a00" int i,j;i=sizeof(a); j=strlen(a);printf("%d %dn",i,j);程序運(yùn)行后的輸出結(jié)果是 。A. 2 2B. 7 6C. 7 2D. 6 2(25) 以下能正確定義

10、一維數(shù)組的選項(xiàng)是 A . int a5=0,1,2,3,4,5;B. char a=0,1,2,3,4,5;C. char a='A','B','C'D. int a5="0123"(26) 有以下程序int f1(int x,int y)return x>y?x:y;int f2(int x,int y)return 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;pr

11、intf("%d,%d,%dn",e,f,g);程序運(yùn)行后的輸出結(jié)果是 。A . 4,3,7B. 3,4,7c. 5,2,7D. 2,5,7,以下敘述中正確的是(27) 已有定義:char a="xyz",b='x','y','z'A .數(shù)組a和b的長度相同B. a數(shù)組長度小于b數(shù)組長度C. a數(shù)組長度大于b數(shù)組長度D. 上述說法都不對(duì)(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,

12、*q;p=a;q=&a7;while(pf(p,q);p+;q-;for(i=0;i<8;i+)printf("%d,",ai);程序運(yùn)行后的輸出結(jié)果是 。A . 8,2,3,4,5,6,7,1,B. 5,6,7,8,123,4,C. 1,2,3,4,5,6,7,8,D. 8,7,6,5,4,321,(29) 有以下程序main()int a33,*p,i;P=&a00;for(i=0;i<9;i+)pi=i;for(i=0;i<3;i+)printf("%d",a1i);程序運(yùn)行后的輸出結(jié)果是 。A. 012B. 12

13、3C. 234D. 345來源:考試大-計(jì)算機(jī)二級(jí)考試(30) 以下敘述中錯(cuò)誤的是 。A .對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變“下標(biāo)越C. 當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出 界”的出錯(cuò)信息D. 可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)(31) 有以下程序#define N 20fun(int a,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,

14、9);for(i=0;i<5;i+)printf("%d",ai);程序運(yùn)行后的輸出結(jié)果是 。A .10234B. 12344C. 12334D. 12234(32) 有以下程序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+) for(j=0;j<2;j+)printf("-",aij);printf("n");若運(yùn)行時(shí)輸入:1 2 3<回車 >,

15、則輸出結(jié)果是 。A .產(chǎn)生錯(cuò)誤信息B. 1 0C. 1 2D. 1 0203020000030(33) 有以下程序prt(int *m,int n) inti;for(i=0;imain()inta=1,2,3,4,5,i; prt(a,5);for(i=0;i<5;i+)printf("%d,",ai);程序運(yùn)行后的輸出結(jié)果是 A .1,2,3,4,5,B. 2,3,4,5,6,C. 3,4,5,6,7,D. 2,3,4,5,1,(34) 有以下程序main() inta=1,2,3,4,5,6,7,8,9,0,*p; for(p=a;p程序運(yùn)行后的輸出結(jié)果是 A

16、.123,4,5,6,7,8,9,0,B. 2,3,4,5,6,7,8,9,10,1,C. 0,1,2,3,4,5,6,7,8,9,D. 1,1,1,1,1,1,1,1,1,1,(35) 有以下程序#define P 3void F(int x)return(P*x*x); main()printf("%dn",F(3+5);程序運(yùn)行后的輸出結(jié)果是 A. 192B. 29C. 25D. 編譯出錯(cuò)(36) 有以下程序main()int c=35;printf("%dn",c&c);程序運(yùn)行后的輸出結(jié)果是 。A . 0B. 70C. 35D. 1(3

17、7) 以下敘述中正確的是 A .預(yù)處理命令行必須位于源文件的開頭B. 在源文件的一行上可以有多條預(yù)處理命令C. 宏名必須用大寫字母表示D. 宏替換不占用程序的運(yùn)行時(shí)間來源:考試大-計(jì)算機(jī)二級(jí)考試(38) 若有以下說明和定義union dtint a;char b;double c;data;以下敘述中錯(cuò)誤的 。是A . data的每個(gè)成員起始地址都相同B. 變量data所占的內(nèi)存字節(jié)數(shù)與c所占字節(jié)數(shù)相等成員C. 程序段:data.a=5;printf("%fn",data.c);輸出結(jié)果為 5.D. data 可以作為函數(shù)的實(shí)參(39) 以下語句或語句組中,能正確進(jìn)行字符串

18、賦值的是 。A . char *sp;*sp="right!"B. char s10;s="right!"C. char s10;*s="right!"D. char *sp="right!"(40) 設(shè)有如下說明typedef struct STlong a;int b;char c2;NEW;則下面敘述中正確的是 。A .以上的說明形式非法B. ST是一個(gè)結(jié)構(gòu)體類型C. NEW是一個(gè)結(jié)構(gòu)體類型D. NEW是一個(gè)結(jié)構(gòu)體變量(41) 有以下程序main() int a=1,b;for(b=1;b<=10;b+

19、) if(a>=8)break;if(a%2=1)a+=5;continue; a-=3;printf("%dn",b);程序運(yùn)行后的輸出結(jié)果是 。A . 3B. 4C. 5D. 6(42) 有以下程序main()chars="159",*p; p=s;printf("%c",*p+);printf("%c",*p+);程序運(yùn)行后的輸出結(jié)果是 。A. 15B. 16C. 12D. 59(43) 有以下函數(shù)fun(char *a,char *b) while(*a!='0')&&

20、(*b!='0')&&(*a=*b) a+;b+; return(*a-*b);該函數(shù)的功能是。A .計(jì)算a和b所指字符串的長度之差B. 將b所指字符串連接到a所指字符串中C. 將b所指字符串連接到a所指字符串后面D. 比較a和b所指字符串的大小(44) 有以下程序main() intnum44=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",'');for(j=;j<4;j+) p

21、rintf("M",numij);printf("n");若要按以下形式輸出數(shù)組右上半三角12346 7 811 1216則在程序下劃線處應(yīng)填入的是 。A .i-1B. iC. i+1D. 4-i 來源:考試大-計(jì)算機(jī)二級(jí)考試(45) 有以下程序poi nt(char *p)p+=3;main() charb4='a','b','c','d',*p=b;point(p);printf("%cn",*p);程序運(yùn)行后的輸出結(jié)果是 。A . aB. bC. cD. d(46)

22、 程序中若有如下說明和定義語句char fun(char *);main()char *s="one",a5=0,(*f1)()=fun,ch;以下選項(xiàng)中對(duì)函數(shù) fun的正確調(diào)用語句是A . (*f1)(a);B. *f1(*s);C. fun(&a);D. ch=*f1(s);(47 )有以下結(jié)構(gòu)體說明和變量定義,如圖所示:struct nodeint data; struct node *next; *p,*q,*r;data next data next data nextp q r同時(shí)要保持鏈表的連續(xù),以下不能完成指定現(xiàn)要將q所指結(jié)點(diǎn)從鏈表中刪除,操作的語句

23、是A . P->next=q->next;B. p->next=p->next->next;C. p->n ext=r;錯(cuò)誤的是 有相同作用的是 D. p=q->n ext;(48) 以下對(duì)結(jié)構(gòu)體類型變量td的定義中,A . typedef struct aaB. struct aa int n; int n;float m;floatm; AA; td;AA td; structaa td;C. structD. struct int n; int n;float m; float m;aa; td;struct aa td;(49) 以下與函數(shù)fs

24、eek(fp,OL,SEEK_SET)A . feof(fp)B. ftell(fp)C. fgetc(fp)D. rewind(fp)(50) 有以下程序#includevoid 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)行后,文件t1.dat 中的內(nèi)容是

25、A . startB. endC. startendD. endrt 來源:考試大-計(jì)算機(jī)二級(jí)考試二、填空題(每空 2分,共40分)請(qǐng)將每空的正確答案寫在【1】至【20】序號(hào)的橫線上,答在試卷上不得分。(1 )某二叉樹中度2的結(jié)點(diǎn)18個(gè),則該二叉樹中【1】 個(gè)葉子結(jié)點(diǎn)。為有有(2 )在面向?qū)ο蠓椒ㄖ?,類的?shí)例【2】。稱為(3 )診斷和改正程序中錯(cuò)誤的工作通?!?】。稱為(4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【4】。(5 )問題處理方案的正確而完整的描述稱為【5】。(6)以下程序運(yùn)行時(shí),若從鍵盤輸入:10 20 30<回車 >,輸出的結(jié)果是【6】#include

26、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 )以下程序運(yùn)行

27、后的輸出結(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'c1printf("n");(11 )已知字符65,以下程序運(yùn)行時(shí)若從鍵盤輸入:則輸出結(jié)果是 【11】。A 的 ASCIIB33回車代碼值為#includemain() char a,b;a=getchar();scanf(&quo

28、t;%d",&b); a=a-'A'+'0'b=b*2;printf("%c %cn",a,b);(12 )以下程序中, fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請(qǐng)?zhí)羁?。void fun(int,int,int(*)4,int *);main() inta34=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("n");void fun

29、(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】。#includevoid fun(char *s,int p,int k) i

30、nt i;for(i=p;i main() char s="abcdefg"fun(s,3,strlen(s); puts(s);來源(15 )以下程序運(yùn)行后的輸出結(jié)果是【15】。#includemain() 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;

31、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 NODEm5,*p=m,*q=m+4; int i=0;while(p!=q)p->k=+i; p+;q->k=i+; q-;q->k=i;for(i=0;i<5;i+) pri

32、ntf("%d",mi.k);printf("n");(18)以下程序中函數(shù)huiwen的功能是檢查一個(gè)字符串是否是回文,當(dāng)字符串是回文時(shí),函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出,所謂回文即正向與反向的拼寫都一樣,例如: adgda。請(qǐng)?zhí)羁铡?includechar *huiwen(char *str) char *p1,*p2; int i,t=0;p仁str;p2=【18 】;for(i=0;iv=strlen(str)/2;i+) if(*p1+!=*p2-)t=1;break; if( 【19 】)return(&

33、quot;yes!");else return("no!");main() char str50;printf("lnput:"); scanf("%s",str);printf("%sn",:考試大-計(jì)算機(jī)二級(jí)考2005年4月筆試試卷參考答案一、選擇題I- 5 DBDCA6-10 CBDDCII- 15 BACDB16-20 CABAB21-25 DABCB26-30 ACDDC31 -35 CBBAD36-40 CDCDC41-45 BADBA46-50 ADCDB二、填空題(1)【1】19【2】對(duì)象【3】程序調(diào)試(4)【4】關(guān)系(5)【5】算法(6)【6110300【7】81(8)【8】4599(9)【9】10200(10) 【10】(11) 【11】1B(12) 【12 】bri(13) 【13】4334(14) 【14 】abcfg(15) 【15 】abcbcc(16) 【16】010111212(17) 【17 】13431計(jì)算機(jī)(18) 【18 】str+ strlen(str)-1【19 】t=0 或!t 【20 】huiwen(str) 來源:考試大二級(jí)考試人與桿上可的看出;人)摸不著小看胸懷的寬的的撥確是一砣全實(shí)在曉的秤。真與假,善與惡,美與丑,盡 人與人之間的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論