二級(jí)C語(yǔ)言2010年秋季考試(真題匯總_第1頁(yè)
二級(jí)C語(yǔ)言2010年秋季考試(真題匯總_第2頁(yè)
二級(jí)C語(yǔ)言2010年秋季考試(真題匯總_第3頁(yè)
二級(jí)C語(yǔ)言2010年秋季考試(真題匯總_第4頁(yè)
二級(jí)C語(yǔ)言2010年秋季考試(真題匯總_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)等級(jí)歷年真題(二級(jí)C語(yǔ)言)2011年05月01日2010年秋季考試(真題匯總)一、選擇題部分1.述一個(gè)算法可以有不同的方式,常見(jiàn)的有( )。A.高級(jí)語(yǔ)言、自然語(yǔ)言和偽代碼 B.機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言C.匯編語(yǔ)言、高級(jí)語(yǔ)言和低級(jí)語(yǔ)言 D.自然語(yǔ)言、流程圖和偽代碼2.下列四個(gè)運(yùn)算符,按優(yōu)先級(jí)別由高到底排列的是( )A. !、%、=、= B. %、!、=、=C!、=、%、= D.!、%、=、=3.若已定義:int i=5,m=1;則下列語(yǔ)句不會(huì)產(chǎn)生無(wú)限循環(huán)。 A do m+=3; B, for(;i0;i-) m+=3; m+=3;4.下列程序段的運(yùn)行結(jié)果是( )。Int arr 4=1

2、,2,3,4,5,6,7,8,9,10,11,12;Printf(“%dn”,arr13);A.3 B. 12 C. 8 D.115.下列敘述正確的是( )。A函數(shù)的定義和調(diào)用都不允許嵌套B函數(shù)的定義和調(diào)用都允許嵌套C函數(shù)的定義允許嵌套,但函數(shù)的調(diào)用不允許嵌套D函數(shù)的定義不允許嵌套,但函數(shù)的調(diào)用允許嵌套6.若已定義:int a5=1,2,3,4,5,*p=a;且p值未發(fā)生變化,下列不能表示a1地址的是( )。A. a+1 B. +p C. p+1 D. a+7.若已定義:struct student int num; float score; stu4;以下錯(cuò)誤的語(yǔ)句是( )。A. print

3、f(“%d”,(*stu).num); B. *(stu)=*(stu+1);C. stu0-num=101; D. stu0=stu1;8.下列對(duì)枚舉類(lèi)型的定義正確的是( )。A. enum a“A”,”B”,”C”; B. enum ax=-2,y=1,z=3;C. enum a=A,B,C; D. enum a=“A”,”B”,”C”;9.下列合法的浮點(diǎn)數(shù)的是() A .2E0.5 B. 65 C.123 D.E210.若已定義:double x,y;則下列表達(dá)式不能正確計(jì)算(x-2)/3*y的是( ) A. y*(x-2)/3 B. (x-2)*y*1/3 C. y/3*(x-2) D

4、 .(1/3)*(x-2)*y 11.下列當(dāng)x的值在5至10之間為“假”,否則為“真”的邏輯表達(dá)式為() A x=5&x=10 B !(5=x & x=10)C x=10 D !(5=x=10) 12若已定義:char str120=”guangzhou”,str20=”2010”;能形成字符串“GUANGZHOU 2010”的語(yǔ)句是() A strcat(strupr(str1),str2); B strcpy(str2,strupr(str1); C strcpy(strupr(str1),str2); D strcat(str2,strupr(str1);13下列敘述正確的是() A 為

5、提高程序運(yùn)行速度可在源程序中加入一些宏定義 B 一個(gè)C語(yǔ)言源程序只能有一條預(yù)處理命令 C 宏定義不占用程序運(yùn)行時(shí)間,但與程序中的語(yǔ)句一樣需要編程 D 宏定義中的宏名必須用大寫(xiě)字母表示 14 下列程序的運(yùn)行結(jié)果是() void fn(int *p,int n) int j; for(j=0;ji;j+) *(p+j)+=10; void main()int a5=1,2,3,4,5; int i;fn(a,5);for(i=0;i=5;i+) printf(“%d”,*(a+i); A . 1 2 3 4 5 B. 1 2 3 4 15 C. 11 2 3 4 5 D . 11 12 13 14

6、 15 15.下列不合格的字符常量的是( )。A.t B. C. n D.“a”16.若已定義:int x=2,y;則執(zhí)行語(yǔ)句y=x%2+(-x);后y的值是( )。A 3B. 1 C. 0 D. 217.若已定義int k;下列()語(yǔ)句與其他三條語(yǔ)句不等價(jià)。Aif(k!=0) B. if(k=0)Printf(“yes!n”) ; printf(“No!n”);else elseprintf(“No!n”) ; printf(“Yes!n”);C. if(k!=0) D. if(k)Printf(“Yes!n”); printf(“Yes!n”);else elseprintf(”No!n)

7、; printf(”No!n”);18.下列程序段的運(yùn)行結(jié)果是()int a =8,7,6,5,4,3,2,1,i,sum=0;for(i=0;i8;i+);if(i=c1)&(z=a)&( c1=a)&(c1=z) D.a=c10); B.m=1,n=2,k=3;C.if(k=0) m=1;n=2; D.if(k0) m=1; else n=2;30.循環(huán)語(yǔ)句的循環(huán)體中,continue語(yǔ)句的作用是( )。A.結(jié)束本次循環(huán),跳出循環(huán)體 B.立即終止程序運(yùn)行C.繼續(xù)執(zhí)行continue語(yǔ)句之后的循環(huán)體各語(yǔ)句 D.結(jié)束本次循環(huán)31.下列程序段的運(yùn)行結(jié)果是( )。Int a =8,7,6,5,4,

8、3,2,1,i,sum=0;For(i=0;i8;i+) If(iy|x9) s=k+5 printf(“%dn”,s+k);A 19 B 13 C 10 D 1436.若已定義: int a8, k=2;無(wú)法正確引用數(shù)組a中元素的是()A a8-k B a8+k C a0 D a8/k37.若已定義 char stra 50, strb50;能正確從鍵盤(pán)讀入字串的是()A scanf(“%s%s”,stra50,stra50); B gets(stra,stra);C getch(stra,stra); D scan(“%s%s”,stra,stra);38.下列程序段的運(yùn)行結(jié)果是( )。

9、Int a =0,1,2,3,4,5,6,7,8,9 ,i=0,t;While(i=7)t=ai; ai=ai+2; ai+2=t i+=2; for(i=0;i=a|b;A B C D 42.若定義;int x=11; double y=3.5; 則表達(dá)式 y/2+x%2/2的值是( )。A 1.5 B 3.5 C 1.0 D 1.7543.若已定義:int x=2,y=4;則表達(dá)式(double)x/y+y%x的值是( )。A、8 B、2 C、0.5 D、2.544.下列程序段運(yùn)行后m的值為( )。Int i,j,m=0;For (i=1;i=3;j+) For(j=2;jnum=1001

10、; stul-score=85.0;54.二維數(shù)組元素在內(nèi)存中的存放順序是()A.由用戶(hù)自己定義 B按行優(yōu)先 C.由編譯器決定 D.按列優(yōu)先55.下列敘述錯(cuò)誤的是()A.函數(shù)的形參在函數(shù)被調(diào)用前是沒(méi)有確定值的B形參是變量名時(shí),實(shí)參也只能是變量名,不可以是表達(dá)式C.函數(shù)的形參和對(duì)應(yīng)的實(shí)參個(gè)數(shù)應(yīng)相等,類(lèi)型應(yīng)相同或賦值兼容D.定義函數(shù)時(shí)可以有參數(shù),也可以沒(méi)有參數(shù)56.若已定義:int x=7,y=5;則表達(dá)式(xy)2的值為()A.0 B.1 C.20 D.856.若已定義:int a=0,b=1;則下列表達(dá)式值為真的是( )。A a+&b+ B (a=0)&(b=1) C a!=0|b!=1 D

11、a=1|a!=157.下列程序段的運(yùn)行結(jié)果是( )。 int a=1,3,4,6,9,i,x=1; for(i=0;i3;i+) x+=ai+1; printf(“%dn”,x);A 15 B 9 C 14 D. 1058.下列程序的運(yùn)行結(jié)果是( )。#define M 5#define N N+1#define NN N*N-Mvoid main() printf(“%dn”,3*NN)A 21 B 103 C 108 D 1659.下列程序的運(yùn)行結(jié)果是( )。Void main() char str=”abcd”,*p=str;int i;while(*p)printf(“%c”,*(p+

12、);A bcd B abc C cd D abcd60.若已定義:FILE *fp;若要打開(kāi)d盤(pán)的temp文件夾下的filel.txt文件,該文件既能讀又能寫(xiě),則正確的語(yǔ)句是( )。A.fp=fopen(“d:tempfilel.txt”,”rw”); B. fp=fopen(“d:tempfilel.txt”,”rb”);C.fp=fopen(“d:tempfilel.txt”,”rb”); D.fp=fopen(“d:tempfilel.txt”,”rw”);61.若已定義:int i =2; float x=2.5,y=3.5;則表達(dá)式(float)(i+j)/2+)(int)x%(in

13、t)y的值為( )A、3.0 B、4.0 C、3.5 D、4.562.下列程序中定義的二維數(shù)組a的( )。# define M 3# define N 4void main( ) int a MN;.A.第一維為3,第二維為4 B.第一維和第二維都為3C.第一維和第二維都為4 D.第一維為4,第二維為363.下列程序的運(yùn)行結(jié)果是( )。Void main()int a =1,2,3,4,5,7,*p;p=a;*(p+3)+=2printf(“%d,%dn”,*p,*(p+3);A、1,3 B、1,5 C、1,4 D、1,664.利用fseek函數(shù)可以實(shí)現(xiàn)以下哪個(gè)功能( )。A、得到文件位置指針

14、的相當(dāng)位置 B、改變文件的讀取順序C、移動(dòng)未見(jiàn)的讀寫(xiě)位置指針 D、在指定的文件夾中查找文件65.若已定義:int n=2; double x=2.5;則下列表達(dá)式中不符合語(yǔ)法的是( )A. (int)x%nB. (int)(x/n) C. (int)x/n D. (int)(x/n)66.若已定義:int i =5,m=1:則( )語(yǔ)句不會(huì)產(chǎn)生無(wú)限循環(huán)。A.m+=3;while(i=5); B.while (i=1)m+=3; C.for(;i0;i-)m+=3;67.下列程序段的運(yùn)行結(jié)果是( )。Int a3 3 =1,2,3,4,5,6,7,8,9,i;for(i=0;i4;i-,i-)

15、k+=2A. 3 B.4 C. 1 D.272.若已定義:int a5=1,2,3,4,5,*pa=a;下列敘述錯(cuò)誤的是( )A.pa與a的值相等 B. a+與pa+的作用相同C.a2與pa2的值相等 D. *(pa+2)與a2的值相同73.若已定義:struct student int num;char name20;stu1,stu2;下列語(yǔ)句中不正確的是A.strcpy(,stu2,name); B. stu1=stu2C.=”li Min” D.stu1.num=stu2.num74.下列( )是不正確的常量形式。A.1E-2 B.“0” C.1.6

16、E6 D.“x5”75.以下程序段的輸出結(jié)果是( )。int a5=1,3,5,7,9,*p;p=&a2;printf(“%d”,*(+p));printf(“%dn”,p-a);A 7 3 B 7 4 C 9 4 D 5 376.若已定義:long int i; char c; double x;表達(dá)式i*c+(int)x結(jié)果的類(lèi)型是()A.long int B.int C.char D.double77.變量的指針,其值是該變量的()A.值 B.標(biāo)識(shí)符 C.一個(gè)標(biāo)志 D.內(nèi)存單元地址78.以下語(yǔ)句正確的是()A.typedef INTEGER int; B.typedef INTEGER:

17、 int;C.typedef int INTEGER; D.typedef INTEGER=int;79.若定義:int x=2,y:則執(zhí)行語(yǔ)句y=x%2+(-x)后y的值是( )A.2 B.3 C.0 D.180.若定義:int a8,k=2;無(wú)法正確引用數(shù)組a中的元素的是( )A.8-k B.a8+k C.a0 D.a8/k二、改錯(cuò)題部分1.修改程序Cmody241.C,實(shí)現(xiàn)從鍵盤(pán)輸入10個(gè)數(shù),輸出大于平均值的所有數(shù)的總和。2.修改程序Cmody242.C,輸出200以?xún)?nèi)除以3余數(shù)為2的所有自然數(shù)之和的平方根。- Cmody241.C-#include void main() int i,

18、n=0; /*/ float s9,sum=1.0,aver; /*/ printf(Please input sampler:n); for(i=0;i10;i+) scanf(%f,/*/ si /*/); for(i=0;i10;i+) sum+=si; aver=sum/10; sum=0.0; for(i=0;iaver) sum+=si; printf(sum=%fn,sum); getch();- Cmody242.C-#include #include void main() double s=0.0,y; int i; for(i=1;i200;i+) if(/*/ i%3=

19、2 /*/) s+=i; y=/*/ sqt(s) /*/; printf(y=%fn,y); getch();1.修改程序Cmody251.C,實(shí)現(xiàn)從鍵盤(pán)輸入一個(gè)數(shù)字a,計(jì)算sum=a+aa+aaa的值。 例如:輸入的數(shù)字為2,則求2+22+222的值。2.修改程序Cmody252.C,使函數(shù)fun(int n)(n從3開(kāi)始)計(jì)算如下分?jǐn)?shù)之和,例如,n=8時(shí): - Cmody251.C-#include #include math.hvoid main() /*/ int i=3,j; /*/ int a,sum=0,t; scanf(%d,&a); while(i=3) t=0; for(

20、j=0; j=i-1; j+) /*/ t+=pow(10,j-1)*a; /*/ sum+=t; i+; printf(%d,sum); getch();- Cmody252.C-#include /*/ fun( int n ) /*/ double x = 0.0; int i,sgn=1; for(i=3;i=n;i+) x+=sgn/(5+/*/ 3*i /*/); sgn=sgn*(-1); return (/*/ sgn /*/);void main() clrscr(); printf(fun(8) = %8.3lfn, fun(8); getch();1.修改程序Cmody2

21、61.C,實(shí)現(xiàn)從鍵盤(pán)輸入兩個(gè)正整數(shù)分別作為區(qū)間的上、下界。求該區(qū)間所有能被7整除的數(shù)的和。例如:輸入:4,30輸出:7+14+21+28=702.修改程序Cmody262.C,使其中函數(shù)fun(int m)能根據(jù)m元付款金額,輸出應(yīng)支付100元、50元、10元、1元四種紙幣的最少?gòu)垟?shù)組合。如付款金額為273,應(yīng)支付2張100元、1張50元、2張10元和3張1元。- Cmody261.C-#include void main() int i,a,b,sum=0; scanf(%d,%d,&a,&b); while(ab) printf(Data error,please input data a

22、gain:); scanf(%d,%d,&a,&b); /*/ for(i=a; i=b; i+=7) /*/ /*/ if(i/7=0) /*/ sum+=i; printf(%d+,i); printf(=%dn,sum); getch();- Cmody262.C-#include void fun( int m ) int n_100,n_50,n_10,n_1; n_100=m/100; n_50=/*/ m/50 /*/; n_10=m%50/10; n_1=/*/ m/10 /*/; printf(100s=%d 50s=%d 10s=%d 1s=%dn,n_100,n_50,n

23、_10,n_1); void main() int m; printf(Input m(m=0):); scanf(%d,&m); fun(/*/int m /*/); getch();1.修改程序Cmody271.C,使其輸出如下圖形:2.修改程序Cmody272.C,使函數(shù)turn( )實(shí)現(xiàn)一串字符的解密,方法為:將字母k還原成a、m還原成c、o還原成e、q還原成g、其他字符保持不變。例如:輸入加密字符串為 qrkphimkl bkso 101 則解密后字符串為 graph i cal base 101- Cmody271.C-#include void main() int m,n; f

24、or(m=1; m=5; m+) printf(n); /*/ for(n=1; n=m;n+) /*/ printf( ); for(n=1;n=m*2-1;n+) printf(%c,/*/ * /*/); getch();- Cmody272.C-#include #include void main() char src50,tag50; void turn( ); printf(Please input a string: ); gets(src); strcpy(tag,src); turn(tag); printf(nThe source string: %sn,src); pr

25、intf(nThe target string: %sn,tag); getch();void turn(/*/ str /*/) char tab42=k,a,m,c,o,e,q,g; int /*/ i=1 /*/,j; while( stri ) for(j=0;j=3;j+) if(/*/ stri=tabj0 /*/) stri=tabj1; break; i+; 1.修改程序Cmody281.C,使其實(shí)現(xiàn)功能:輸入一個(gè)字符串,依次輸出其中的所有非字母字符。例如:輸入: ;as?l%q95r/w0 輸出: ;?%95/02.修改程序Cmody282.C,實(shí)現(xiàn)如下圖形的輸出。 1 0

26、0 0 0 2 1 0 0 0 3 2 1 0 0 4 3 2 1 0 5 4 3 2 1- Cmody281.C-#include #include void main() char str80; char c; int i; i=0; printf(nPlease input the string: ); while(c=getchar()!=n) /*/ if(!c=A&c=a&c=z) /*/ /*/ stri=c; /*/ stri=0; puts(str); getch();- Cmody282.C-#include #define N 5void main() int /*/ a

27、N,N /*/; int i,j; for(i=0;iN;i+) for(j=0;j=i/*/) aij=0; else /*/ aij=i+2-j /*/; printf(%3d,aij); printf(n); getch();三、填空題部分1.將程序Ccon241.C填寫(xiě)完整,該程序統(tǒng)計(jì)10到99之間個(gè)位是奇數(shù)且十位數(shù)為偶數(shù)的整數(shù)的個(gè)數(shù)。2.將程序Ccon242.C填寫(xiě)完整,使其中函數(shù)void trn(char *s),實(shí)現(xiàn)將字符串中所有奇數(shù)位置上(注:本題將字符串的首字符稱(chēng)為第1位)的小寫(xiě)英文字母轉(zhuǎn)換為大寫(xiě)英文字母(若不是英文字母則不轉(zhuǎn)換)。 例如:原字符串ssdax31被轉(zhuǎn)換成SsD

28、aX31- Ccon241.C-#include #include void main() int /*/ /*/; for(i=10;i=99;i+) sw=i/10; gw=i%10; if(/*/ /*/) count+; printf(nThe count=%d,count); getch();- Ccon242.C-#include #include void trn(char *s) int i=1,n=0; char *p=s; while(*p) if(/*/ /*/ ) *p=*p-32; /*/ /*/ i+; void main() char ss100; printf(

29、Input string: n); gets(ss); trn(ss); printf(nNow string is :n); puts(ss); getch();1.將程序Ccon251.C填寫(xiě)完整,該程序輸入一個(gè)實(shí)數(shù),輸出該數(shù)的個(gè)位數(shù)與第一位小數(shù)上的數(shù)字乘積,例如:輸入:13.56輸出:152.將程序Ccon252.C填寫(xiě)完整,使程序輸出100到999之間所有能被7整除且左右對(duì)稱(chēng)的數(shù)。如:707就是滿(mǎn)足條件的數(shù)。 - Ccon251.C-#include #include void main() int a,b,c; /*/ /*/ clrscr(); printf(Please inpu

30、t f :); scanf(%f,&f); a=/*/ /*/ b=(int)(f-(int)f)*10); c=a*b; printf(nResult=%d,c); getch();- Ccon252.C-#include #include void main() /*/ /*/ int k; for(k=100; k=999; k+) find( k ); getch();void find(int m) int a,b; if(/*/ /*/) a=m%10; /*/ /*/ if(a=b) printf(%dn,m); 1.將程序Ccon261.C填寫(xiě)完整,使程序輸出符合以下條件的3位整數(shù)的個(gè)數(shù):各位數(shù)字互不相同,且各位數(shù)的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論