二級C語言模擬試題_第1頁
二級C語言模擬試題_第2頁
二級C語言模擬試題_第3頁
二級C語言模擬試題_第4頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

二級C語言模擬試題一、填空題1、C語言中基本的數據類型有:、、。2、C語言中普通整型變量的類型說明符為,在內存中占字節(jié),有符號普通整型的數據范圍是.3,整數-35在機內的補碼表示為。4、執(zhí)行下列語句inta=8;a+=a-=a*a;后,a的值是?5、有如卜一語句;charA[]={"lamastudent"};該字符串的長度是>A[3]= ?6、符號"a”和0的區(qū)別是.7、所謂"指針”就是?!?”運算符的作用是?!?”運算符的作用是。8,有如下輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b的值為3,c的值為2,從鍵盤輸入數據的正確形式應是。二、選擇題1、設整型變量a為5,使b不為2的表達式是()。b=a/2b=6-(—a)C.b=a%2D.b=a>3?2:l2、為了避免嵌套的條件分支語句if-else的二義性,C語言規(guī)定:C程序中的else總是與()組成配對關A.縮排位置相同的ifB.在其之前未配對的ifC.在其之前未配對的最近的ifD.同一行上的if3、以下程序的輸出結果是()。intx=10,y=10;printf(44%d%d\n”,x”「?y);1010999101094、設A為存放(短)整型的?維數組,如果A的首地址為P,那么A中第i個元素的地址為()。P+(M)*2P+(i-l)P+i5、選出下列標識符中不是合法的標識符的是()。hot_docatl_pri2ab6、以下程序的輸出結果是()ointa=5;floatx=3.14;-'A');printf(M%f\n?\(float)a);A.62.00000062.800000C.63.0000007、設有說明double(*pl)[N];其中標識符pl是()。A.N個指向double型變量的指針。B.指向N個double型變盤的函數指針。一個指向由N個double型元素組成的一維數組的指針。D.具有N個指針元素的?維指針數組,每個元素都只能指向double型量。8、在C程序中有如下語句:char*func(inlx,inty);它是()。A.對函數func的定義。B.對函數func的調用。C.對函數func的原型說明。D.不合法的。9、以下程序的輸出結果是()。charstr[15]='hello!M;printf(^%d\n'\strlen(str));1514710、分析以下程序的輸出結果是()。main(){inta=5,b=-l,c;c=adds(a,b);c=adds(a,b);printf(tk%d\n,\c);)intadds(intx,inty){staticintm=0,n=3;n*=++m;m=n%x+y++;return(m);)A.2,3B.2,2C.3,2D.2,411、下列描述中不正確的是()。A.字符型數組中可能存放字符串。B.可以對字符型數組進行整體輸入、輸出。C.可以對整型數組進行整體輸入、輸出。D.不能在賦值語句中通過賦值運算符“二”對字符型數組進行整體賦值。12、以下程序的輸出結果是()。#definef(x)x*xmain()(inta=6,b=2,c;c=f(a)/f(b);printf("%d\n”,c);)96361813、設有如下定義:intx=10,y=3,z;則語句printf("%d\n”,z=(x%y,x/y));的輸出結果是().104314、定義如下變量和數組:inti;intx[3][3]={1,2,345,6,7,8,9);則語句for(i=0;i<3;i++)printf(M%dM,x[i][2-i]);的輸出結果是(<15914735736915、以下對二維數組a進行正確初始化的是()inta[2][3]={{1,2)43,4)45,6});inta[][3]={1,2,345,6);inta[2][]={1,23,4,5,6);inta[2][]={{1,2},{3,4}};16、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結果是()。intx;scanf("%d",&x);if(x++>5)printf("%d",x);elseprintf("%d\n",x--);7和56和37和46和417、設有如下定義:char*aa[2]={"abcd","ABCD");則以下說法中正確的是(A)aa數組成元素的值分別是“abed”和ABCD"B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組C)aa數組的兩個元素分別存放的是含有4個字符的維字符數組的首地址D)aa數組的兩個元素中各自存放了字符*和A'的地址18、下列程序的輸出結果是().char*pl="abcd",*p2="ABCD",str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));A.xyabcABabcABzABabczxycdBCD19、下列程序的輸出結果是()ointa[5]=(2,4,6,8J0},*P,**k;p=a;k=&p;printf(,'%d\*(p++));printf(',%d\n,\**k);4422244620、不能把字符串:Hello!賦給數組b的語句是()oA.charb[10]={'H','e',T,T;o'J'};charb[10];b="Hello!";charb[10];strcpy(b,"Hello!”);三、讀程序題1、floatf=3.1415927;則程序的輸出結果是2、intx=6,y=7;primf("%dj,x++);printf("%d\n”,++y);程序的輸出結果是。3、a=3;a+=(a<l)?a:l;printf("%d”,a);結果是-4、for(a=Lb=1;a<=100;a++){if(b>=20)break;if(b%3==l)(b+=3;continue;)程序的輸出結果a的值為05、inty=hx,*p,a[]=[2,4,6,8,10};p=&a(l]:for(x=0;x<3;x++)y+=*(p+x);prinlf("%d\n”,y);程序的輸出結果y的值是。四、程序填空題1、從鍵盤上輸入10個數,求其平均值。main()(inti;floatf,sum;for(i=l,sum=0.0;i<ll;i++)printf(uaverage=%f\n*\sum/l0);)2、以下程序是建立一個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當鍵盤上輸入結束時關閉該文件。#includemain()(FILE*fp;charc;fp= do(c=getchar();fputs(c,fp);}while?=EOF);3、以下程序的功能是:從鍵盤上輸入若干個學生的成績,統(tǒng)計并輸出最高成績和最低成績,當輸入負數時結束輸入.請?zhí)羁?main()(floatx,amax,amin;amax=x;amin=x;while(){if(x>amax)amax=x;if()amin=x;scanf("%f;&x);}printf(,,\namax=%f\namin=%f\n,,,amax,amin);}五、編程題.三個整數a、b、c,由鍵盤輸入,輸出其中最大的一個數。.輸出1900~2000年中所有的閏年。每輸出3個年號換一行。(判斷閏年的條件為下而二者之一:能被4整除,但不能被100整除?;蛘吣鼙?00整除。).請編一個函數intfun(inta),它的功能是:判斷a是否是素數,若a是素數,返回1;若不是素數,返回0。A的值由主函數從鍵盤讀入。.有N個學生,每個學生的信息包括學號、性別、姓名、四門課的成績,從鍵盤上輸入N個學生的信息,要求輸出總平均成績最高的學生信息,包括學號、性別、姓名和平均成績。參考答案一、填空題⑴整型、實型、字符型。⑵int.2,-32768-+32767(3)1111111111011101(4)-112(5)14,'m'(6)“a”是字符串常量,而W是字符常量。(7)存放地址值的變量或常量,或者答地址。(8)取運算對象的地址。取指針變量所指的內容。(8)a=l,b=3,c=2二、選擇題1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B三、閱讀程序題(1)3.141593,3.1416,3.142(2)6,8(3)4(4)22(5)19四、程序填空題1、scanf(**%f\&f);sum+=f;2^fopen(**myfilew,w)fclose(fp);3、x>=0.0x<=amin五、編程題1、main(){inta,b,c;primf(“請輸入三個整數:”);scanf("%d.%d,%d",&a,&b,&c);if(aif(belseprintf(4tmax=%d\n,\b);elseif(aelseprintfCmax=%d\n,\a);)2、#include,,stdio.h,,main(){intI,n;for(n=0,I=1900:I<=2000;I++){ifl:I%4=0&&l0!=0||I@0=0)(printfCk%d”,D;n++;)if(n%3==0)3、#include“sldio.h"{intI;if(a==2)return1;1=2;while((a%l)!=0&&l<=sqrt((float)a))I++;if(a%I==O){printf("%disnotaprime!'\a);return0;}return1;)main(){intx;printf(*4\npleaseenteranumber:'*);scanf(“%d”,&x);4、#includeMstdio.hH#defineN3structstudent(longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:\n",I+l);scanf("%ld,%c,%sM,&stuaiT[I].stu_num,&stuaiT[I].sex,stuaiT[I].name);for(j=0;j<4;j++)scanf("%d",&s(uarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr|I].average=sum/4.0;}max=stuarr[O|.average;index=O;for(I=l;Iif(stuarr[I].average>max)(max=stuarr[I].average;index=I;)printf("總平均成績最高的學生信息是學號=%ld,性別=%c,姓名=%s,平均成績=%4.1(\1廣閭阿用11(^]般11_num,stuarr[index|.sextstuarr[index).name,sluan'lindex].average);}一、填空題1,c語言中普通整型變量的類型說明符為,在內存中占字節(jié),有符號普通整型的數據范圍是O2、C語言中基本的數據類型有;、、°3、設整型變量n的值為2,執(zhí)行語句“n+=n-=n*曖后,n的值是04、共用體和結構體的定義格式類似,不同點是。5、有如下輸入語句:院@憂(々=%必卜=%<12=%(1”,&@,&1),&<:);為使變量&的值為1,b的值為3,c的值為2,從鍵盤輸入數據的正確形式應是o6、有語句:charA[]={,,Iamastudent"};該字符串的長度是 ?A[3]=。7、符號"a”和H的區(qū)別。8、下列程序的輸出結果是ointast(intx,inty,int*cp,int*dp)(*cp=x+y;*dp=x-y;)main(){inta=4,b=3,c,d;ast(a,b,&c,&d);primf("%d,%d/n”,c,d);)二、選擇題1、以下選項中屬于C語言的數據類型是()。A.復合型B.雙精度型C.邏輯型D.集合型2、以下說法中正確的是().A.C語言程序總是從第一個的函數開始執(zhí)行B.在C語言程序中,要調用的函數必須在main。函數中定義C語言程序總是從main。函數開始執(zhí)行C語言程序中的main。函數必須放在程序的開始部分選出下列標識符中不是合法的標識符的是().hot_docatlC._priD.2ab4、下列描述中不正確的是()oA、字符型數組中可能存放字符串。B、可以對字符型數組進行整體輸入、輸出。C、可以對整型數組進行整體輸入、輸出。D、不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值。5、若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示地址的表達式為()。A.p+1B.a+1C.a++D.++p6、設有如下定義:intx=10,y=3,z;則語句primf("%d\n”,z=(x%y,x/y));的輸出結果是()。A.1B.0C.47、定義如下變量和數組:inti,x[3][3]=[12345,678,91;則下面語句for(i=0;k3;i++)printf(''%d';x[i][2-i]);的輸出結果是()1591473573698、讀出以下語句的輸出結果是()ointx=IO,y=IO;printf(**%d%d\nM,x—y);1010999101099、兩次運行卜一面的程序,如果從鍵盤上分別輸入6和3,則輸出結果是()。if(x++>5)printf("%d\x);elseprintf("%d\n",x--);7和56和37和46和410、設有如下定義:char*aa[2]={"abcd",”ABCD"};則以下說法中正確的是()。A)aa數組成元素的值分別是“abed”和ABCD”B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組C)aa數組的兩個元素分別存放的是含有4個字符的一維字符數組的首地址D)aa數組的兩個元素中各自存放了字符*和,A■的地址11、以下語句的輸出結果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);primf(”%d,%d,%d\n”,k,a,b);1,0,41,0,30,0,30,0,412、下列程序的輸出結果是().char*pl=,,abcd,\*p2="ABCD';str[50]=HxyzM;strcpy(str+2,strcat(p1+2,p2+1));A.xyabcABB.abcABzC.ABabczD.xycdBCD13、執(zhí)行下面的程序后,a的值是()o#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);A.10B.1C.914、設A為存放(短)整型的一維數組,如果A的首地址為P,那么A中第i個元素的地址為()。A.P+i*2P+(i-l)*2P+(i-l)P+i15、下列程序執(zhí)行后輸出的結果是()ointd=l;fun(intp){intd=5;d+=p++;printf(n%d;',d);)main(){inta=3;fun(a);d+=a++;printf("%d\n';d);)9,69,48,516、表達式:10!=9的值是()。A.trueB.非零值0117、若有說明:inti,j=7,*p=&i;,則與i;j;等價的語句是()oi=*p;*p=*&j;i=&j;i=**p;18、不能把字符串:Hello!賦給數組b的語句是()。charcharb[10];b=MHello!M;charb[10];strcpyCb/'Mello!*');D.charb[10]="Hello!H;19、在C程序中有如下語句:char*ftinc(intx,inty);它是()。A.對函數func的定義。B.對函數fimc的調用。C.對函數func的原型說明。D.不合法的。20、以下程序的輸出結果是()。charstr[15]="hell。!”;prinlf("%d\iTMrlen(str));151476三、閱讀程序題1、intx=6,y=7;primf(“%d,”,x++);primf("%d\n'',++y);程序的輸出結果是。2、float23.1415927;則程序的輸出結果是3、a=3;a+=(a<l)?a:1:printf("%d",a);結果是。4、main()(inta[5]={2,4,6,8」0},*P,**k;p=a;k=&p;printf("%d,",*(p++));primf("%d\n「*k);}程序的輸出結果是o5、main(){inta,b;for(a=l,b=l;a<=100;a++){if(b>=20)break;if(b%3==l)(b+=3;continue;)b-=5;|)程序的輸出結果a的值為四、程序填空題1,求主次對角線之和。main(){staticinta[][3]=[9,7,5,1,2,4,6,8);intI,j,sl=0,s2=0;for(I=0;l<3;I++)for(j=0;j<3;j++)(if()sl=sl+a[I][j];if()s2=s2+a[I]U];)printf(4i%d\n%d\n,,,sl,s2);2、從鍵盤上輸入10個數,求其平均值。main(){inti;floatf,sum;for(i=l,sum=0.0;i<ll;i++)printf(44average=%f\n,\sum/10);)3、以下程序是建立個名為myfile的文件,并把從鍵盤輸入的字符存入該文件,當鍵盤上輸入結束時關閉該文件.#includcmain()FILE*fp;charc;fp=;do{c=getchar():fputs(cjp);)while(c!=EOF);五、編程題1、三個整數a、b、c,由鍵盤輸入,輸出其中最大的數。2、從鍵盤輸入的10個整數中,找出第?個能被7整除的數。若找到,打印此數后退出循環(huán);若未找到,打印“notexist"。3、有?個維數組,內放10個學生成績,寫?個函數,求出平均分。4、有N個學生,每個學生的信息包括學號、性別、姓名、四門課的成績,從鍵盤上輸入N個學生的信息,要求輸出總平均成績最高的學生信息,包括學號、性別、姓名和平均成績。參考答案一、填空題1、int,2個字節(jié),-32768?+32767。2、整型、實型、字符型。3、-4。4、結構體的成員占有各自不同的空間,而共用體的各成員放到同一存儲空間。5、a=i,b=3,c=27、"葭是字符串常量,而H是字符常量。8、7,1。二、選擇題1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、閱讀程序題(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空題1、I=jI+j==22、scanf(4t%f;&f);sum+=f;3、fopen(t<myfile,,,w)fclose(fp);五、編程題I、main(){inta,b,c;printf(“請輸入三個整數:");scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(4lmax=%d\n,\b);elseif(aelseprintf(umax=%d\n,\a);}2、#include^stdio.hMmain(){intI,a;for(I=l;I<=10;I++)(scanf("%d”,&a);{if(a%7=0)printf("%d”,a);break;))printf(*wnotexist");|3、floataverage(floatarray|],intn)(intI;floataver,sum=array[0];for(I=l;Isum=sum+array[I];aver=sum/n;return(aver);)main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf(M%f;&score[I]);ave=average(score,10);4、#incIudeHstdio.hM#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage:);main()(intIJ,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf(npleaseinput%dstudentinformation:\n",I+l);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex.stuarr[l].namc);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);)for(I=0;I(sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr|I].average=sum/4.0;)max=stuarr[O].average;index=O;fdr(I=l;Iif(stuarr[I].average>max)(max=stuarr[I].average;index=I;)primf("總平均成績最高的學生信息是學號=%ld,性別=%c,姓名=%s,平均成績=%4.11\11"閭皿而泡岡.501_num,stuarr[index].sex,stuarr[index].name,sluarr[index].average);}一.單項選擇題.設ini乂=1,丫=1;表達式(以++IIy??)的值是A.012D.-12.main()(intn;(n=6*4,n+6),n*2;printf(<4n=%d\n,\n);)此程序的輸出結果是.A.30B.24C.60D.48.若有如下定義,則是對數組元素的正確的引用。inta[10],*p;p=a;p=a;p=a;p=a;*&a[10]a[ll]*(p+10)*p.設整型變量n的值為2,執(zhí)行語句“n+=n?=n*n;"后,n的值是04-42.以下不能正確定義二維數組的語句是A.inta[2][2]={{lM2}|;inta[][2]={l,2,3,4);inta[2][2]={{l),2,3);.程序段的功能是將變量u、s中的最大值賦給變量t。if(u>s)t=u;t=s;t=u;if(t)t=s;if(u>s)t=s;elset=u;D.t=s;if(u)t=u;.下列程序段的輸出結果是ovoidmain(){intk;for(k=l;k<5;k++){if(k%2!=0)printf(Mr);elseprimfD;))A.#*#*B.*#*#c.##D.以上都不對.設變量定義為inia[3]={1A7),*p=&a[2],則*p的值是(35)。&a[2]471.能正確表示a和b同時為正或同時為負的邏輯表達式是.A.a>=0llb>=0)&&(a<0llb<0)(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>010.C語言中,合法的字符型常數是oAJA'B."A”65D.A.設有數組定義:chararray[]="China”;則數組所占的空間是。A.4個字節(jié)B.5個字節(jié)C.6個字節(jié)D.7個字節(jié).若變量c為char類型,能正確判斷出c為小寫字母的表達式是。A.'a'v=cv='z'B.(c>='a')II(cv='z')C.(4a'<=c)and('z'>=c)(c>='a')&&(cv;'z').設有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句是A.printf(ktx=%d\n,\x)B.printf(^x=%ld\n';x)C.printf(t4x=l\n”,x)D.printf("x=%LD\n”,x);.下列關于指針定義的描述,是錯誤的。A.指針是?種變量,該變量用來存放某個變量的地址值的。B.指針變量的類型與它所指向的變量類型一致。C.指針變量的命名規(guī)則與標識符相同。D.在定義指針時,標識符前的“*”號表示后面的指針變量所指向的內容。.已知:imx;inty[10];下列是合法的°A.&xB.&(x+3)C.&5D,&y.指出下面正確的輸入語句。scanf(ua=b=%dM,&a,&b);3canf("%d,%d”,&a,&b);scanf(i4%c*\c);scanf(u%f%d\nM,&f);.C語言中以追加方式打開個文件應選擇參數。B.WC."rb”D.--a".Break語句的正確的用法是().A.無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層?B.在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。C.跳出多重循環(huán)。D.只能修改控制變鼠。19.為表示關系x2y?z,應使用C語言表達式A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=z)&(y>=z)20.以下可以作為C語言合法整數的是oA.1010BB.0368C.OXffaD.x2a221.在函數中默認存儲類型說明符的變量應該是存儲類型。A.內部靜態(tài)B.外部C.自動D.寄存器二.判斷題.C語言源程序文件通過了編譯、連接之后,生成一個后綴為.EXE的文件。().在C程序中,函數既可以嵌套定義,也可以嵌套調用.().在C程序中,APH和aph代表不同的變量。().表達式0195是一個八進制整數。().表達式_ya是不合法的C語言標識符。().C程序總是從main()函數的第條語句開始執(zhí)行的。().A-=7等價于a=a-7.().利用fclose函數關閉已打開的文件。().數組名可以作為參數進行傳遞.().執(zhí)行printf("%x”,12345);,輸出12345。()三、填空C語言的預處理語句以開頭.表達式7+8>2&&25%5的結果是。下列程序段是從鍵盤輸入的字符中統(tǒng)計數字字符的個數,用換行符結束循環(huán)。intn=0,ch;ch=getchar();while(){if()n++;c=getchar();)C語言中putchar(c)函數的功能是。ni*p的含義是_ 。.定義fp為文件型指針變量的定義方法為。.數組inta[3][4];共定義了個數組元素。四、讀出程序。1.改正下列程序中不正確的語句。main(){inta=8,b=l;a=a+b;b=a*b:2.寫出下列程序的運行結果。fun(inta,intb)(if(a>b)return(a);Elsereturn(b);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);3.改正下列程序中不正確的語句。main()floats=1.0;for(n=10;n>l;n--)s=s+l/n;4.寫出下列程序的運行結果。main()(intn;For(n=3;n<=10;n++)(if(n%5==0)break;Primf("%d”,n);})5.寫出下列程序的運行結果。#include“stdio.h"main(){int扯]:{1,23-4,5};intp=&a[0];p=&a[0];m=*(p+2);n=*(p+4);printf(u%d%d%d }五.編程序.編程計算下列表達式:s=l!+2!+3!+4!+……+10!.從鍵盤上輸入a與n的值,計算sum=a+aa+aaa+aaaa+ (共n項)的和。例a=2,n=4,則sum=2+22+222+2222o.求3X3矩陣的主對角線元素之和。.從鍵盤上輸入10個數存入維數組中,求這10數中的最大值與最小值并輸出。.從鍵盤上輸入若干個字符存入文件write.ua中,遇到網車鍵輸入結束。(用“\n”表示回車鍵)參考答案一.單項選擇題B2B3D4C5D6C7A8C9D10A11C12D13B14D15A16B17D18B19A20C21C二.判斷題N2X344X5X6<7<8<9yl10X三、填空#號03ch!=’\n'ch>='0'&&chv='9'4將變量c中的字符顯示到屏幕ko5指針變量p為整型FILE*fp12四、讀出程序。1printfC^d,%dH,&a,&b);212s=s+1.0/n.34135五.編程序1.#includeHstdio.hMmain(){longs=O,t=kinti;for(i=l;i<=10;i++)s=s+t;#includc"stdio.h"main(){inta.ncount=1,sn=O,tn=O;while(count<=n)(tn=tn+a;sn=sn+tn;a=a*10;++count;)3.#include"stdio.h"main()(inta[3][3],i,j,s=O;for(i=0;i<3;i++)for(j=0;j<3;j++)for(j=0;j<3;j++)s=s+a[i][j];4.#includcirstdio.h,Fmain(){inta[10],max,min;for(i=0;i<10;i++)max=a[0];for(i=l;i<10;i++)max=a[i];min=a[O];for(i=l;i<10;i++)min=a[i];5.#include"stdio.h"main(){intc;FILE*fp;fp=open("write.txt","w");c=getchar();while(c!=*\n,){fputc(c,fp);c=getchar();fclose();)一.單項選擇題1.運算符的優(yōu)先級最高。A.[]+=?:D.++2.main()(intn;(n=6*4,n+6),n*2;printf(<tn=%d\n*,,n);)此程序的輸出結果是.A.30246048.若有如下定義,則是對數組元素的正確的引用。?inta[10],*p;p=a;B.a[ll]D.*p*p*p.設整型變量n的值為2,執(zhí)行語句“n+=n-=n*n;”后,n的值是A.04-4D.2.各種基本數據類型的存貯空間正確的長度排列為A.CharC.Char.下面的變量說明中是正確的。A.char:a,b,c;B.chara;b;c;C.chara,b,c;D.chara,b,c7.表達式y(tǒng)=(13>12?15:6>7?8:9)的值為。A9B8C15D.1.若x=5,y=3則y*=x+5;y的值為.10201530.能正確表示a和b同時為正或同時為負的邏輯表達式是.A.a>=0llb>=0)&&(a<0llb<0)B.(a>=0&&b>=0)&&(a<0&&b<0)C.(a+b>0)&&(a+b<=0)D.a*b>0.C語言中,合法的字符型常數是oA.'A'B."A”C.65D.AIL已有定義inix=3,y=4,z=5:貝ij表達式“!(x+y)+z-l&&y+z/2”的值是A.6B.OC.2D.l.若變量c為char類型,能正確判斷出c為小寫字母的表達式是.A.'a'v=c<='z'B.(c>='a')II(cv='z')C.('a'v=c)and('z'>=c)D.(c>='a')&&(cv='z').設有定義:longx=-123456L;則以下能夠正確輸出變量x值的語句是A.primf("x=%d\n”,x)B.printf(l*x=%ld\n,\x)C.printf("x=%D\n",x);.從循環(huán)體內某?層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:。A.break語句B.retum語句C.continue語句D.空語句。.C語言用表示邏輯“真”值。A.trueB.t或yC.非零整型值D.整型值0.為了避免嵌套的條件分支語句if—else的二義性,C語言規(guī)定:C程序中的else總是與組成配對關系。A.縮排位置相同的ifB.在其之前未配時的ifC.在其之前未配對的最近的ifD.同一行上的if.在函數中默認存儲類型說明符的變量應該是存儲類型。A.內部靜態(tài)B.外部C.自動D.寄存器.C語言中以只讀方式打開一個文件應選擇參數。AJT'B."w”C.“rb”D."a”.設有數組定義:chararray[]="studcnt”;則數組所占的存貯空間為A.6個字節(jié)7個字節(jié)8個字節(jié)9個字節(jié)20.根據C語言的語法規(guī)則,下列個是不合法標識符。A.doNameR5_exam二.判斷題.C語言源程序文件通過了編譯、連接之后,生成?個后綴為.EXE的文件。().在C程序中,函數既可以嵌套定義,也可以嵌套調用。().在C程序中.APH和aph代表不同的變量。().表達式0195是?個八進制整數。()5cominue語句的作用是結束本次循環(huán)。().Extern變量的生命期是整個程序執(zhí)行期。().C語言中字符串的結束符是().利用fclose函數關閉已打開的文件。()。.C程序總是從main()函數的第一條語句開始執(zhí)行的。().數組名代表數組的首地址。()三.填空.C語言的預處理語句以開頭。.表達式7+10>2&&25%5的結果是..下列程序段是從鍵盤輸入的字符中統(tǒng)計數字字符的個數,用換行符結束循環(huán)。Intn=0,ch;Ch=getchar();While(){if()n++;c=getchar();).C語言中getchar()函數的功能是 ni*p的含義是.6.定義fp為文件型指針變量的定義方法為。7.數組inta[3][3];共定義了個數組元素。四、讀程序。.改正下列程序中不正確的語句.main(){inta;scanf("%d”,a);if(a=I)printf(¥*One\nv);).寫出下列程序的運行結果。fun(inla,intb){if(a>b)return(a);Elsereturn(b);)main(){intx=3,y=8,z=6j;r=fun(fun(x,y),2*z);printf(44%d\nM,r);}.改正下列程序中不正確的語句。main(){intn;floats=1.0;for(n=10;n>l;n--)s=s+l/n;primf(“%6.1f\n",s);}.寫出下列程序的運行結果。main(){intn;For(n=3;n<=10;n++){if(n%6==0)break;Printf("%d”,n);)}.寫出下列程序的運行結果。#includc“stdio.h"Main(){int叫=(1,2345);intm,n,*p;p=&a[O];m=*(p+l);n=*(p+4);printf("%d%d%d\*p,m,n);)五.編程.編程計算下列表達式:s=n!(n從鍵盤上輸入).輸出1-100之間不能被12整除的數。.從鍵盤上輸出10個整數存入?維數組中,按由大到小的順序輸出。.從鍵盤上輸入9個數,按3行3列的格式輸出..編程將文件read.txt中的字符讀出顯示到屏幕上。參考答案一.單項選擇題1A2B3D4C5C6C7C8D9D10A11D12D13B14A15C16C17A18A19C20A二.判斷題6<7<8T941(W三、填空#號03ch!=’\n'ch>='0'&&ch<='9'4從鍵盤上輸入一個字符。5指針變量p為整型FILE*fp9四、讀出程序。printf("%d,",&a);if(a=l)12s=s+1.0/n.345125五.編程序1.#includc"stdio.h"main()(longt=l:inti;for(i=l;i<=10;i++)#include"stdio.h"main(){inti;for(i=l;i<=100;i++){if(i=0)continue;printf(H%d”,i);3.#includc"stdio.h"main()for(i=l;i<=10;i++)scanf(M%d",&a[i]);for(i=0;i<9=;i++)aU-U=aUl;aUl=t;)for(i=0;i<10;i++)printf(n%dM,a[i]);4.#include"stdio.h"main()(inta[3][3],i,j,s=O;for(i=0;i<3;i++)for(j=0;j<3;j++)(for(j=0;j<3;j++)printf("%d\a[i]U]);5.#include"stdio.h"main(){intc;FILE*fp;fp=open("read.txt\T');c=tgetc(fp);while?二An')Iputchar(c);c=fgetcr(fp);})fclose();}一、填空.實型變量的類型說明符有:、。2,表達式7+8>2&&25%5的結果是。.下列程序段是從鍵盤輸入的字符中統(tǒng)計數字字符的個數,用換行符結束循環(huán)。Intn=0,ch;Ch=getchar();While())))(if()n-H-;.putchar(c)函數的功能是是是05int*p的含義是是是是 0.C語言中數組的下標下限為。.定義fp為文件型指針變量的定義方法為。.數組inta[3][4];共定義了個數組元素。二、單項選擇題1、下列屬于整型常量的是。A、12B、12.0C、-12.0D、10E102、不屬于字符型常量的是。A4B、豆C、“A”D、b3、下列表達式為關系表達式的為。(其中a為一整型變量)A.3+4*5B、a=10C、a>0?a:-aD、a=l4、下面不正確的賦值語句是。A.a=a+1B、a==bC>a+=bD、a=l5、下列對數組定義不正確的語句是。A.intm[5];B、charb[]={If/e');C.inta[10]={l,6,8,4};D、charp[];6、若有以下定義,則和是對數組元素的正確引用。inta[5],*p=a*&a[6]B、*p+8C、*(a+2)D、*p7、執(zhí)行下列語句后,a的值是.inta=8;a+=a-=a*a;A.-240B、64C、112D、-1128.指出下面正確的輸入語句()oA.scanf(t4a=b=%d,,,&a.&b);B.scanf(u%d,%dM,&aT&b);C.scanfC*%c,,,c);9.下面的變量說明中正確的是.A.int:a,b,c;B.inta;b;c;C.inta,b,cD.inta,b,c;10.C語言用()表示邏輯“真”值。A.Truet或yC.非零整型值D.整型值01L若x=5,y=4則y*=x+5:y的值為().40201530.C語言中以追加方式打開一個文件應選擇參數。A."r”B.“w”C.“rb”D.“a”.Break語句的正確的用法是()。A.無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。B.在多重循環(huán)中,只能退出最靠近的那?層循環(huán)語句。C.跳出多重循環(huán)。D.只能修改控制變量。.兩個指針變量的值相等時,表明兩個指針變量是.A.占據同一內存單元。B.指向同?內存單元地址或者都為空。C.是兩個空指針.D.都沒有指向。.字符串指針變量中存入的是。A.字符串的首地址。B.字符串C.第一個字符D.字符串變最。.以個是不正確的描述。A.不論在主函數還是自定義函數中,只要說明了變量,就可為其分配存貯單元。在定義函數時,必須指定形參的類型。C.形參和實參之間可以是值傳遞。D.數組名可以作為參數進行傳遞。18表達式力?(0?3:2):(10?1:0)”的值為。A.321019.為表示關系x>y>z,應使用C語言表達式A.(x>=y)&&(y>=z)(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=z)&(y>=z)20.以下說法中正確的是oA.C語言程序總是從第一個定義的函數開始執(zhí)行。B.在C語言程序中,要調用的函數必須有main()函數中定義。C語言程序總是從main()函數開始執(zhí)行。C語言程序中的main()函數必須放在程序的開始部分。21.設有數組定義:chararray[]="China”;則數組所占的存貯空間為.A.4個字節(jié)5個字節(jié)6個字節(jié)7個字節(jié)22.根據C語言的語法規(guī)則,下列個是不合法標識符。A.WhileNameRern5_exam三、讀出下列程序,寫出程序的運行結果。main()(inta=8,b=l;a=a+b;b=a*b;printf(,,a=%d,b=%d,',a,b);)該程序的運行結果是。main(){inti,num[5];for(i=0;iv5;i++)num[i]=i*10-2;printf(u%dM,num[3]);}該程序的運行結果是1main(){floatc,f;c=30.0;f=(6*c)/5+32;printfC'f=%f;f);}該程序的運行結果是1main(){inta=6095,b;b=a00;printf(,'%d,;b);)該程序的運行結果是1#include"stdio.h"main()(inta[]=[8,2,9,4,l},鄧;p=a;*(p+2)+=2;printf(u%d,%d”,*p,*(p+2));}該程序的運行結果是,四、將下列程序中不正確的語句改正。main(){intk;k=35555;printf("%d",k);}main(){inta,b;scanf("inputa,b:a,b);printf(**a=%d,b=%d,,,aTb);)main(){intsum,k;sum=O;while(k<=100)sum=sum+k;k++;printf("sum=%d\n,\sum);Jmain(){intk,a(8);for(k=0;k<10;k++)scanf("%d“,&a(k));……)main()scanf("%d”,a);if(a=1)printfC4One\n,*);}五.編程題1.用程序計算下列表達式:s=l!+2!+3!+4!2、從鍵盤上輸入三個數,求出其中最大的?個數。.輸入兩個整數,調用函數stu()求兩個數差的平方,返回主函數顯示結果。。.從鍵盤上輸入10個評委的分數,去掉?個最高分,去掉?個最低分,求出其余8個人的平均分,輸出平均分,最高分,最低分。.write.txt中,遇到回車鍵輸入結束。.(用“\n”發(fā)示回車鍵)參考答案一、填空.floatdouble.0.ch!='\0'(ch>='a'&&ch<='z')II(ch>='A'&&ch<=Z).將字符c所包含的值輸出到標準的輸出設備上。.定義一個整型的指針變量p.0.FILE*fp.12二、單項選擇題A2、C3、B4、B5、D6、CD7、D8、B9、D10、C11、A.13、D14、B15、A.16、A17、A.18、B19、A20、C21、C22>A三、讀出下列程序,寫出程序的運行結果。a=9,b=92.283.f=684.955.8,11四、將下列程序中不正確的語句改正。longintk;printf(M%ld”,k);Jscanf("%d,%d”,a,b);while(k<=100){sum=sum+k;k++;}intk,a[8];scanf("%d”,&a[k]);if(a==1)五.編程題1.main(){longinta,b,sum=0,p;for(a=l;a<=4:a++)(P=hfor(b=l;b<=a;b++)p*=b;sum+=p;}printf(“%kT,sum);}2、main(){inta,b,c,max;scanf("%d,%d.%d",&a,&b.&c);if(a>b)max=a;elsemax=b;if(maxmax=c;printf("max=%d,\max);)3.intstu(inta,intb){intc;c=a*a+b*b;returnc;)main(){intx,y,z;scanf(“%d,%d”,&x,&y);z=stu(x,y);4.main(){floata[10],b,max,min,sum=O,aver;for(b=0;b<10;b++)scanf(4t%f\&a(b]);max=min=a[0];for(b=l;b<10;b++){if(a[b]>max)max=a[b];if(a[b]min=a[b];sum+=a[b];|sum=sum-max-min;aver=sum/8;printf(u%f,%f,%f\aver,max,min);)main(){FILE*fp;Charch;fp=fopen(''w「ite.lxr',"w");ch=getchar();while(ch!=An'){fputc(ch,fp);ch=getchar();}fclose(fp);)一.單項選擇題.各種基本數據類型的存貯空間正確的長度排列為A.CharB.DoublcC.CharD.Float.下面的變量說明中 是正確的。A.Char:a,b,c;B.Chara;b;c;C.Chara,b,c;D.Chara,b,c.main()(intn;(n=6*4,n+6),n*2;printf(tfcn=%d\nM,n);)此程序的輸出結果是A.302460484.若有如下定義,則 和是對數組元素的正確的引用。.inta[10],*p;p=a;.*&a[10J.a[ll]D.*p5.設整型變量n的值為2,執(zhí)行語句“n+=n-=n*n;”后,n的值是A.0B.4C.-4D.26.表達式y(tǒng)=(13>12?15:6>7?8:9)的值為C15D.17.若x=5,y=3則y*=x+5;y的值為.A.10B.20C.15D.308.C語言的輸入與輸出操作是由完成的。A.輸入語句B.輸出語句C.輸入與輸出函數D.輸入與輸出語句.語句for(k=0;k<5;++k){if(k==3)continue;primf("%d”,k);)的輸出結果為.A.012012401234D.沒有輸出結果10.從循環(huán)體內某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是:A.break語句B.return語句C.continue語句D.空語句。11.Break語句的正確的用法是.A.無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。B.在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。C.跳出多重循環(huán)。D.只能修改控制變量。.兩個指針變量的值相等時,表明兩個指針變量是。A.占據同一內存單元。B.指向同一內存單元地址或者都為空。C.是兩個空指針.D.都沒有指向。.不正確的指針概念是。A.一個指針變量只能指向同一類型的變量。B.一個變量的地址稱為該變量的指針。C.只有同?類型變量的地址才能存放在指向該類型變量的指針變量之中。D.指針變量可以賦任意整數,但不能賦浮點數。.設charch='A';表達式ch!(ch>='A'&&ch<='Z')?ch:(ch+32)的值是.A.AaZz15.根據C語言的語法規(guī)則,下列個是不合法標識符。A.WhilcNameRern5_exam.設單精度變量f,g均為5.0,使f為10.0的表達式是of+=gf-=g+5f*=g-15f/=g*10.設整型變量n的值為2,執(zhí)行語句“n+=n-=n*n7后,n的值是.04C.-4D.218.下列不是賦值語句的是。A.A++a==ba+=ba=l19.為表示關系讓yNz,應使用C語言表達式 A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=z)C.(x>=y>=z)D.(x>=z)&(y>=z)20.設有數組定義:chararrayUChina”;則數組所占的存貯空間為A.4個字節(jié)5個字節(jié)6個字節(jié)7個字節(jié)二.寫出下列程序的運行結果main()(intx=10,y=10;printf("%d%d\nM,x-y);}該程序的運行結果是。.main(){intj,k,p,s;s=0;for(j=l;j<=3;j++)IP=l;for(k=l;k<=j;k++)p=p*k;s=s+p;)printf(us=%d\n,,,s);}該程序的運行結果是 .#include"stdio.h"main()(int叫={12345),*p;p=a;?(p+2)+=2;printf(u%d,%d",*p,*(p+2));)該程序的運行結果是1.main(){inta[]={2,4,6,8,10);inty=l,x,*p;p=&a[l];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);)該程序的運行結果是..main(){inta[5],k;for(k=0;k<5:k++)a[k]=10*k;printf("%d”,a[k-l]);]該程序的運行結果是o三.判斷題.函數一般由函數的說明部分和函數體部分組成。().C語言中數據類型只有整型、實型和字符型。().數組的下標從1開始。().假設有inta[10],*p;則P=&a⑼與p=a等價。().getcharO函數的功能是從鍵盤上輸入一個字符串。().在C語言中定義一個文件指針的方法為:FILE*fp;.().構成數組的各個元素可以有不同的數據類型。().C語言的數據類型只有int型和float型。().從循環(huán)體中退出只能使用goto語句。().Continue語句的作用是繼續(xù)程序中的下一個循環(huán)。()四.編程題.)的元素值賦值.從鍵盤上輸入20個元素的值存入一維數組a中,然后將下標為(1、3、5、7、9給數組b,輸出數組b.)的元素值賦值.編程序求3,-30,20,6,77,2,0.-4,-7,99這十個數中最大值與最小值。.輸入兩個整數,調用函數stu()求兩個數和的立方,返回主函數顯示結果。.將文件filel.txt中的內容讀出并顯示到屏幕上。.編程計算1-100之間的奇數和與偶數和。參考答案一?.單項選擇題1.C2.C3.C4.CD5.C6.B7.D8.C9.B10.C11.B12.A13D14.B15.A16.A.17.C18.B19.A.20.C.二.寫出下列程序的運行結果1.1092.S=93.1,54.195.40三.判斷題1.對2.不對3.不對4.對5.不對6.對7.不對8.不對9.不對10.不對四.編程題1.main(){intm[20],n[10];inta,b=O;for(a=0;a<20;a++){scanfC*%d*\&m[a]);if(a%2==1)(n[b]=m[a];b++;}2.main()(intm[10]={3>-30,20,6,77,2,0,4-7,99),max,min;max=min=m[0];for(a=0;a<10;a++)max=m[a];min=m[a];3.intstu(intajntb)(intc;c=a*a+b*b;returnc;}main(){intx,y,z;z=stu(x,y);4.main(){FILE*fp;Charch;fp=fopen(t4write.lxC\t4rM);ch=fgetc(fp);while(ch!=EOF)(putchar(ch);ch=fgetc(fp);)fclose(fp);)5.main(){intsum1=0,sum2=0.a.b;for(a=l;a<=100;a++)if(a%2==0)if(a%2==0)suml+=a;elsesum2+=a;printf("%d,%d”,sum1,sum2);)一、填空題.在c語言程序設計中,正確的標識符是由組成的。.設x=4,y=(++x)+(++x);那么y的值為,表達式執(zhí)行后,變量x的值為..一個變量的指針是指..能夠構成一個數組,其元素滿足的特點是;那么,構成結構體的成員可以是一 -.下面運算符<%++=按照優(yōu)先級從高到低排列順序為。.C程序設計中語句后的符號/*……*/所起作用是。.寫出下面表達式的值3*5/7+7%3 x=2;y=4;(x++)+y .3+4>=7-10 3>4?3%2:1 x=2,y=2;++xll++y x=3;x+=x-=2 ⑴.在使用TurboC2.0環(huán)境編輯程序時,運行某程序使用的菜單項為()A.FILEB.RUNC.EDITD.OPTION⑵.下列語句不具有賦值功能的是()A.a*=bB.x=lC.a+bD.a++⑶.C語言程序中,當出現條件分支語句if?else時,else與()組成配對關系A.同?復合語句內部的ifB.在其之前任意的ifC

溫馨提示

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

最新文檔

評論

0/150

提交評論