当前位置:文档之家› C语言考试题库及答案2015

C语言考试题库及答案2015

200题)C语言(共1、下面程序的输出是___D______voidmain()#include<stdio.h>{intx=023;voidmain()printf("%d\n",--x);{intk=11;}printf("k=%d,k=%o,k=%x\n",k,k,k);A)17B)18C)23D)24}11、下面程序的输出的是_____C____.A)k=11,k=12,k=11B)k=11,k=13,k=13#include<stdio.h>C)k=11,k=013,k=0xbD)k=11,k=13,k=bvoidmain(){intx=10,y=3;2、在下列选项中,不正确的赋值语句是__D______.printf("%d\n",y=x/y);A)++t;B)n1=(n2=(n3=0));}C)k=i=j;D)a=b+c=1;A)0B)1C)3D)不确定的值的65,下面程序制3、下面合法的C语言字符常量是______A____.12、已知字母A的ASCII码为十进的输出是______A_____.A)'\t'B)"A"C)65D)A#include<stdio.h>4、表达式:10!=9的值是________D____.voidmain()A)trueB)非零值C)0D)1{charch1,ch2;ch1='A'+'5'-'3';型关键字是ch2='A'+'6'-'3';5、C语言提供的合法的数据类_____B____.printf("%d,%c\n",ch1,ch2);A)DoubleB)shortC)integerD)Char}A)67,DB)B,CC)C,DD)不确定的值6、字符(char)型数据在微机内存中的存储形式是__D__.13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A)反码B)补码C)EBCDIC码D)ASCII码A)a<>0B)!aC)a=0D)a7、C语言程序的基本单位是_____C______.A)程序行B)语句C)函数D)字符14、以下程序的输出结果是____D_____.#include<stdio.h>8、设inta=12,则执行完语句a+=a-=a*a后,a的值是voidmain()____D____{intx=10,y=10;A)552B)264C)144D)-264printf("%d%d\n",x--,--y);}9、执行下面程序中的输出语句后,输出结果是A)1010B)99C)910D)109____B__.:#include<stdio.h>15、设有如下定义voidmain()intx=10,y=3,z;{inta;则语句printf("%d\n",(a=3*5,a*4,a+5));printf("%d\n",z=(x%y,x/y));}的输出结果是_____D_____.A)65B)20C)15D)10A)1B)0C)4D)310、下面程序的输出是____B______.16、为表示关系x≥y≥z,应使用C语言表达式#include<stdio.h>___A___.-1-A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)}程序的运行结果是______C____.C)(x>=y>=z)D)(x>=y)&(y>=z)A)8,10,8,10B)9,11,8,1017、C语言中非空的基本数据类型包括____B____.C)9,11,9,10D)9,10,9,11A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型22、已知a=12,则表达式a+=a-=a*=a的结果是D)整型,实型,逻辑型,字符型_____A__.18、若x和y都是int型变量,x=100,y=200,且有下面的A)0B)144C)12D)-264程序片段:23、若已定义inta,则表达式a=10,a+10,a++的值是printf("%d",(x,y));__B_.上面程序片段的输出结果是____A___.A)20B)10C)21D)11A)200B)100C)100200D)输出格式符不够,输出不确定的值24、阅读下面的程序#include<stdio.h>19、阅读下面的程序voidmain()#include<stdio.h>{voidmain()inti,j;{scanf("%3d%2d",&i,&j);charch;printf("i=%d,j=%d\n",i,j);scanf("%3c",&ch);}如果从键盘上输入1234567<回车>,则程序的运行结果printf("%c",ch);是____D____.}如果从键盘上输入A)i=123,j=4567B)i=1234,j=567abc<回车>C)i=1,j=2D)i=123,j=45则程序的运行结果是__A_____.A)aB)bC)cD)程序语法出错25、下面程序的输出结果是____D____.#include<stdio.h>20、阅读下面的程序voidmain()#include<stdio.h>{voidmain()inta=-1,b=4,k;{k=(++a<=0)&&(b--<=0);inti,j;printf("%d,%d,%d\n",k,a,b);i=010;}j=9;A)1,1,2B)1,0,3C)0,1,2D)0,0,3printf("%d,%d",i-j,i+j);}26、下面程序的输出结果是____A____.则程序的运行结果是____D____.#include<stdio.h>A)1,19B)-1,19C)1,17D)-1,17voidmain(){21、阅读下面的程序inta=5,b=3;#include<stdio.h>floatx=3.14,y=6.5;voidmain()printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));{}inti,j,m,n;A)1,0B)0,1C)1,1D)0,0i=8;j=10;m=++i;27、执行下面程序段后,输出结果是____A____.n=j++;inta;printf("%d,%d,%d,%d",i,j,m,n);intb=65536;-2-a=b;B)在C程序中,变量名代表存储器中的一个位置printf("%d\n",a);C)静态变量的生存期与整个程序的生存期相同A)65536B)0C)-1D)1D)C语言中变量必须先定义后引用28、若有以下定义和语句:38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.inta=010,b=0x10,c=10;printf("%d,%d,%d\n",a,b,c);A)必须为字母则输出结果是____B_____.B)必须为下划线A)10,10,10B)8,16,10C)8,10,10D)8,8,10C)必须为字母或下划线29、已知有double型变量x=2.5,y=4.7,整型变量a=7,D)可以是字母,数字或下划线中的任意一种则表达式x+a%3*(int)(x+y)%2/4的值是_____B____.39、设有说明:charw;intx;floaty;doublez;则表达式:A)2.4B)2.5C)2.75D)0w*x+z-y值的数据类型是___D____.A)floatB)charC)intD)double30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.40、一个C语言的执行是从_____A______.A)5.5B)5C)3D)4.0A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函31、以下程序的输出结果是____D____.数结束#include<stdio.h>C)本程序的主函数开始,到本程序的最后一个函数结voidmain()束{D)本程序的第一个函数开始,到本程序的主函数结束inta=12,b=12;printf("%d,%d\n",--a,++b);41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.}A)10,10B)12,12C)11,10D)11,13A)10<a<15B)a==11||a==12||a==13||a==14C)a>10&&a<15D)!(a<=10)&&!(a>=15)32、设有以下语句:intx=10;x+=3+x%(3),则x的值是.____A_____42、下列程序执行后的输出结果是_____C____.A)14B)15C)11D)12#include<stdio.h>voidmain()33、若d为double型变量,则表达式d=1,d+5,d++的值{inta=5,b=60,c;是_____D__.if(a<b)A)1B)6.0C)2.0D)1.0{c=a*b;printf("%d*%d=%d\n",b,a,c);}else34、表达式5!=3的值是____D____.{c=b/a;printf("%d/%d=%d\n",b,a,c);}A)TB)非零值C)0D)1}A)60/5=12B)300C)60*5=300D)1235、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.43、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A)0B)1C)12D)6A)if(c=='32')B)if(c==32)36、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达C)if(c=='\40')D)if(c=='')式:(x+y)%2+(int)a/(int)b的值是__D__.A)0B)2C)1.5D)144、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.37、在C语言中,以下叙述不正确的是_____A____.#include<stdio.h>A)在C程序中,无论是整数还是实数,都能被准确无误voidmain()的表示{-3-intx,y;{floata,b;scanf("%d,%d",&x,&y);scanf("%f",&a);if(x==y)if(a<0.0)b=0.0;printf("x==y");elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);elseif(x>y)elseif(a<10.0)b=1.0/2;printf("x>y");elseb=10.0;elseprintf("%f\n",b);printf("x<y");}}A)0.000000B)0.500000A)3<5B)5>3C)x>yD)x<yC)1.000000D)0.25000045、运行下面程序时,若从键盘输入数据为48、执行下面程序后,运行结果是____A____."6,5,7<CR>",则输出结果是____C___.#include<stdio.h>#include<stdio.h>voidmain()voidmain(){intx=41,y=1;{inta,b,c;if(x%3==0&&x%7==0)scanf("%d,%d,%d",&a,&b,&c);{y+=x;printf("y=%d\n",y);}if(a>b)elseif(a>c){y=x;printf("y=%d",y);}printf("%d\n",a);}elseA)y=41B)y=43C)y=42D)y=1printf("%d\n",c);else49、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.if(b>c)printf("%d\n",b);#include<stdio.h>elsevoidmain()printf("%d\n",c);{intx,y,z;}scanf("%d,%d,%d",&x,&y,&z);A)5B)6C)7D)不定值if(x<y)if(y<z)printf("%d\n",z);elseprintf("%d\n",y);46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.elseif(x<z)printf("%d\n",z);#include<stdio.h>elseprintf("%d\n",x);voidmain()}{intk;charcp;A)34B)12C)9D)不确定的值cp=getchar();if(cp>='0'&&cp<='9')50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.k=cp-'0';elseif(cp>='a'&&cp<='f')#include<stdio.h>k=cp-'a'+10;voidmain()elsek=cp-'A'+10;{charch;printf("%d\n",k);ch=getchar();}switch(ch)A)2B)4C)1D)10{case'H':printf("Hello!\n");case'G':printf("Goodmorning!\n");47、运行下面程序时,从键盘输入"2.0<CR>",则输出default:printf("Bye_Bye!\n");结果是___B_____.}#include<stdio.h>}voidmain()A)Hello!B)Hello!-4-GoodMorning!C)Hello!D)Hello!56、下列程序的执行结果是_____D____.Goodmorning!Bye_Bye!#include<stdio.h>Bye_Bye!voidmain(){intx=0,y=1,z=0;51、执行下列程序段后的输出结果是_____A____.if(x=z=y)intx=1,y=1,z=1;x=3;x+=y+=z;printf("%d,%d\n",x,z);printf("%d\n",x<y?y:x);}A)3B)2C)1D)4A)3,0B)0,0C)0,1D)3,152、设ch是char型变量,值为'A',则表达式ch=(ch>='A'57、假定等级和分数有以下对应关系:&&ch<='Z')?ch+32:ch的值是__B___.等级:A分数:85~100等级:B分数:60~84A)ZB)aC)zD)A等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功53、下面程序的输出结果是____C____.能的程序段是____D____.#include<stdio.h>voidmain()A)switch(grade){intx=8,y=-7,z=9;{if(x<y)case'A':printf("85--100\n");if(y<0)z=0;case'B':printf("60--84\n");elsez-=1;case'C':printf("60以下\n");printf("%d\n",z);default:printf("等级错误!\n");}}A)8B)1C)9D)0B)switch(grade){54、运行下面程序时,若从键盘输入"5<CR>",则程序的case'A':printf("85--100\n");break;输出结果是_____B___.case'B':printf("60--84\n");#include<stdio.h>case'C':printf("60以下\n");voidmain()default:printf("等级错误!\n");{inta;}scanf("%d",&a);C)switch(grade)if(a++>5)printf("%d\n",a);{elseprintf("%d\n",a--);case'A':printf("85--100\n");break;}case'B':printf("60--84\n");break;A)7B)6C)5D)4case'C':printf("60以下\n");default:printf("等级错误!\n");55、运行下面程序时,若从键盘输入"3,4<CR>",则}程序的输出结果是____B___.D)switch(grade)#include<stdio.h>{voidmain()case'A':printf("85--100\n");break;{inta,b,s;case'B':printf("60--84\n");break;scanf("%d,%d",&a,&b);case'C':printf("60以下\n");break;s=a;default:printf("等级错误!\n");if(s<b)s=b;}s=s*s;printf("%d\n",s);58、能够完成如下函数计算的程序段是__B____.}┌-1x<0A)14B)16C)18D)20y=┤0x=0-5-└1x>0b=1;A)y=1;B)if(x>=0)d=20;if(x!=0)if(x>0)y=1;if(a)d=d-10;if(x>0)y=1;elsey=0;elseif(!b)elsey=0;elsey=-1;if(!c)x=15;C)y=0;D)y=-1;elsex=25;if(x>=0)if(x>0)y=1;printf("d=%d\n",d);if(x>0)y=1;elsey=0;}elsey=-1;A)d=20B)d=10C)d=15D)2559、有如下程序62、有如下程序:#include<stdio.h>#include<stdio.h>voidmain()voidmain(){floatx=5.0,y;{inta=2,b=-1,c=2;if(x<0.0)y=0.0;if(a<b)elseif(x<10.0)y=1.0/x;if(b<0)c=0;elsey=1.0;elsec++;printf("%f\n",y);printf("%d\n",c);}}该程序的输出结果是____C_____.该程序的输出结果是___C_____.A)0.000000B)0.50000A)0B)1C)2D)3C)0.200000D)1.00000063、下列程序执行后的输出结果是____B____.60、以下程序的执行结果是___B_____.#include<stdio.h>#include<stdio.h>voidmain()voidmain(){intx,y=1,z;{intx=1,y=0;if((z=y)<0)x=4;switch(x)elseif(y==0)x=5;{elsex=6;case1:printf("%d,%d\n",x,y);switch(y)}{A)4,1B)6,1C)5,0D)出错信息case0:printf("first\n");break;case1:printf("second\n");break;64、有如下程序}#include<stdio.h>case2:printf("third\n");voidmain()}{intx=1,a=0,b=0;}switch(x)A)firstB)first{secondthirdcase0:b++;C)firstD)secondcase1:a++;thirdcase2:a++;b++;}61、以下程序的执行结果是____A____.printf("a=%d,b=%d\n",a,b);#include<stdio.h>}该程序的输出结果是______A____.voidmain(){inta,b,c,d,x;A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2a=c=0;-6-65、下面程序的输出结果是____C_____.scanf("%d",&x);#include<stdio.h>if(x++>5)printf("%d\n",x);voidmain()elseprintf("%d\n",x--);{inta=-1,b=1,k;}if((++a<0)&&(b--<=0))A)7B)6C)5D)4printf("%d%d\n",a,b);else71、以下程序段运行结果是____A____.printf("%d%d\n",b,a);intx=1,y=1,z=-1;}x+=y+=z;A)-11B)01C)10D)00printf("%d\n",x<y?y:x);66、假定w、x、y、z、m均为int型变量,有如下程A)1B)2C)4D)不确定的值序段:72、有以下程序w=1;x=2;y=3;z=4;#include<stdio.h>m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;voidmain()则该程序段执行后,m的值是____D_____.{inta,b,c=246;A)4B)3C)2D)1a=c/100%9;b=(-1)&&(-1);67、以下程序的输出结果是___D______.printf("%d,%d\n",a,b);main()}{inta=100;输出结果是____A____.if(a>100)printf("%d\n",a>100);A)2,1B)3,2C)4,3D)2,-1elseprintf("%d\n",a<=100);}73、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.A)a<=100B)100C)0D)1#include"stdio.h" 68、若执行下面的程序从键盘上输入9,则输出结果voidmain()是.______B________{intnum,i,j,k,place; #include<stdio.h>scanf("%d",&num);voidmain()if(num>99){intn;place=3;scanf("%d",&n);elseif(num>9)if(n++<10)printf("%d\n",n);place=2;elseprintf("%d\n",n--);}elseA)11B)10C)9D)8place=1;i=num/100;69、以下程序输出结果是_____D_____.j=(num-i*100)/10;#include<stdio.h>k=(num-i*100-j*10);voidmain()switch(place){intm=4;{case3:printf("%d%d%d\n",k,j,i);if(++m>5)printf("%d\n",m--);break;elseprintf("%d\n",--m);case2:printf("%d%d\n",k,j);}break;A)7B)6C)5D)4case1:printf("%d\n",k);}70、若执行下面的程序从键盘上输入5,则输出结果是.}#include<stdio.h>A)123B)1,2,3C)321D)3,2,1voidmain(){intx;74、执行下列程序后的输出结果是___D____.-7-#include<stdio.h>A)缩排位置相同的ifvoidmain()B)在其之前未配对的if{intk=4,a=3,b=2,c=1;C)在其之前尚未配对的最近的ifprintf("%d\n",k<a?k:c<b?c:a);D)同一行上的if}A)4B)3C)2D)180、设x、y、z、t均为int型变量,则执行以下语句后,t的值为____C_____.75、以下条件表达式中能完全等价于条件表达式x的x=y=z=1;是____B___.t=++x||++y&&++z;A)(x==0)B)(x!=0)C)(x==1)D)(x!=1)A)不定值B)4C)1D)076、若运行下面程序时,给变量a输入15,则输出结果81、以下程序段____C______.是___A___.x=-1;#include<stdio.h>dovoidmain(){{inta,b;x=x*x;scanf("%d",&a);}while(!x);b=a>15?a+10:a-10;A)是死循环B)循环执行两次printf("%d\n",b);C)循环执行一次D)有语法错误}A)5B)25C)15D)1082、对下面程序段描述正确的是___B____.intx=0,s=0;77、运行下面程序后,输出是___D___.while(!x!=0)s+=++x;#include<stdio.h>printf("%d",s);voidmain()A)运行程序段后输出0{intk=-3;B)运行程序段后输出1if(k<=0)printf("****\n");C)程序段中的控制表达式是非法的elseprintf("####\n")D)程序段循环无数次}A)####83、下面程序段的输出结果是____C____.B)****x=3;C)####****do{y=x--;D)有语法错误不能通过编译if(!y){printf("*");continue;}printf("#");78、执行下面程序的输出结果是____C____.}while(x=2);#include<stdio.h>A)##B)##*C)死循环D)输出错误信息voidmain(){inta=5,b=0,c=0;84、下面程序的运行结果是____B____.if(a=a+b)printf("****\n");#include<stdio.h>elseprintf("####\n");voidmain()}{inta=1,b=10;A)有语法错误不能编译doB)能通过编译,但不能通过连接{b-=a;a++;C)输出****}while(b--<0);D)输出####printf("%d,%d\n",a,b);}79、为了避免嵌套的if-else语句的二义性,C语言规A)3,11B)2,8C)1,-1D)4,9定else总是与___C___组成配对关系.-8-85、下面程序段的运行结果是____B______.voidmain()intn=0;{inta,b;while(n++<=2)a=-1;printf("%d",n);b=0;A)012B)123C)234D)错误信息do{++a;86、下面程序段的运行结果是___D_____.++a;intx=0,y=0;b+=a;while(x<15)y++,x+=++y;}while(a<9);printf("%d,%d",y,x);printf("%d\n",b);A)20,7B)6,12C)20,8D)8,20}87、下面程序的运行结果是___B_____.A)34B)24C)26D)25#include<stdio.h>91、下面程序段的运行结果是_____D______.voidmain()for(i=1;i<=5;){ints=0,i=1;printf("%d",i);while(s<=10)i++;{s=s+i*i;A)12345B)1234C)15D)无限循环i++;}92、下面程序的输出结果是_____B_____.printf("%d",--i);#include<stdio.h>}voidmain()A)4B)3C)5D)6{intn=4;while(n--)printf("%d",n--); 88、函数pi的功能是根据以下近似公式求π值:}____C______A)20B)31C)321D)210(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。

相关主题