《C语言考试试题及答案.docx》由会员分享,可在线阅读,更多相关《C语言考试试题及答案.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言考试试题及答案1、下面程序的输出是_D_#includevoidmain()intk=11;printf(k=%d,k=%o,k=%xn,k,k,k);A)k=11,k=12,k=11B)k=11,k=13,k=13C)k=11,k=013,k=0xbD)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是_D_.A)+t;B)n1=(n2=(n3=0);C)k=i=j;D)a=b+c=1;3、下面合法的C语言字符常量是_A_.A)tB)AC)65D)A4、表达式:10!=9的值是_D_.A)trueB)非零值C)0D)15、C语言提供的合法的数据类型关键字是_B_.A)Dou
2、bleB)shortC)integerD)Char6、字符(char)型数据在微机内存中的存储形式是_D_.A)反码B)补码C)EBCDIC码D)ASCII码7、C语言程序的基本单位是_C_.A)程序行B)语句C)函数D)字符8、设inta=12,则执行完语句a+=a-=a*a后,a的值是_D_A)552B)264C)144D)-2649、执行下面程序中的输出语句后,输出结果是_B_.#includevoidmain()inta;printf(%dn,(a=3*5,a*4,a+5);A)65B)20C)15D)1010、下面程序的输出是_B_.#includevoidmain()intx=02
3、3;printf(%dn,-x);A)17B)18C)23D)2411、下面程序的输出的是_C_.#includevoidmain()intx=10,y=3;printf(%dn,y=x/y);A)0B)1C)3D)不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是_A_.#includevoidmain()charch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A)67,DB)B,CC)C,DD)不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_.A)a0B)!aC)
4、a=0D)a14、以下程序的输出结果是_D_.#includevoidmain()intx=10,y=10;printf(%d%dn,x-,-y);A)1010B)99C)910D)10915、设有如下定义:intx=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是_D_.A)1B)0C)4D)316、为表示关系xyz,应使用C语言表达式_A_.A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)17、C语言中非空的基本数据类型包括_B_.A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型D)整
5、型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf(%d,(x,y);上面程序片段的输出结果是_A_.A)200B)100C)100200D)输出符不够,输出不确定的值19、阅读下面的程序#includevoidmain()charch;scanf(%3c,&ch);printf(%c,ch);如果从键盘上输入abc则程序的运行结果是_A_.A)aB)bC)cD)程序语法出错20、阅读下面的程序#includevoidmain()inti,j;i=010;j=9;printf(%d,%d,i-j,i+j);则程序的运行结果是_D_.
6、A)1,19B)-1,19C)1,17D)-1,1721、阅读下面的程序#includevoidmain()inti,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);程序的运行结果是_C_.A)8,10,8,10B)9,11,8,10C)9,11,9,10D)9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_A_.A)0B)144C)12D)-26423、若已定义inta,则表达式a=10,a+10,a+的值是_B_.A)20B)10C)21D)1124、阅读下面的程序#includevoidmain()int
7、i,j;scanf(%3d%2d,&i,&j);printf(i=%d,j=%dn,i,j);如果从键盘上输入1234567,则程序的运行结果是_D_.A)i=123,j=4567B)i=1234,j=567C)i=1,j=2D)i=123,j=4525、下面程序的输出结果是_D_.#includevoidmain()inta=-1,b=4,k;k=(+a=0)&(b-=0);printf(%d,%d,%dn,k,a,b);A)1,1,2B)1,0,3C)0,1,2D)0,0,326、下面程序的输出结果是_A_.#includevoidmain()inta=5,b=3;floatx=3.14,
8、y=6.5;printf(%d,%dn,a+b!=a-b,x=(y-=6.1);A)1,0B)0,1C)1,1D)0,027、执行下面程序段后,输出结果是_A_.inta;intb=65536;a=b;printf(%dn,a);A)65536B)0C)-1D)128、若有以下定义和语句:inta=010,b=0x10,c=10;printf(%d,%d,%dn,a,b,c);则输出结果是_B_.A)10,10,10B)8,16,10C)8,10,10D)8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4的值是_B
9、_.A)2.4B)2.5C)2.75D)030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是_C_.A)5.5B)5C)3D)4.031、以下程序的输出结果是_D_.#includevoidmain()inta=12,b=12;printf(%d,%dn,-a,+b);A)10,10B)12,12C)11,10D)11,1332、设有以下语句:intx=10;x+=3+x%(3),则x的值是._A_A)14B)15C)11D)1233、若d为double型变量,则表达式d=1,d+5,d+的值是_D_.A)1B)6.0C)2.0D)1.034、表达式5!=3的值是_D
10、_.A)TB)非零值C)0D)135、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值_A_.A)0B)1C)12D)636、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是_D_.A)0B)2C)1.5D)137、在C语言中,以下叙述不正确的是_A_.A)在C程序中,无论是整数还是实数,都能被准确无误的表示B)在C程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期相同D)C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_C
11、_.A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种39、设有说明:charw;intx;floaty;doublez;则表达式:w*x+z-y值的数据类型是_D_.A)floatB)charC)intD)double40、一个C语言的执行是从_A_.A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函数结束C)本程序的主函数开始,到本程序的最后一个函数结束D)本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10A)1010&a15D)!(a=15)42、下列程序执行后的输
12、出结果是_C_.#includevoidmain()inta=5,b=60,c;if(ac=a*b;printf(%d*%d=%dn,b,a,c);elsec=b/a;printf(%d/%d=%dn,b,a,c);A)60/5=12B)300C)60*5=300D)1243、如果c为字符型变量,判断c是否为空格不能使用_A_.(假设已知空格ASCII码为32)A)if(c=32)B)if(c=32)C)if(c=40)D)if(c=)44、运行下面程序时,若从键盘输入3,5,则程序的输出结果是_D_.#includevoidmain()intx,y;scanf(%d,%d,&x,&y);if
13、(x=y)printf(x=y);elseif(xy)printf(xy);elseprintf(xA)33C)xyD)x,则输出结果是_C_.#includevoidmain()inta,b,c;scanf(%d,%d,%d,&a,&b,&c);if(ab)if(ac)printf(%dn,a);elseprintf(%dn,c);elseif(bc)printf(%dn,b);elseprintf(%dn,c);A)5B)6C)7D)不定值46、执行下面程序时,若从键盘输入2,则程序的运行结果是_A_.#includevoidmain()intk;charcp;cp=getchar();i
14、f(cp=0&cp=a&cp=f)k=cp-a+10;elsek=cp-A+10;printf(%dn,k);A)2B)4C)1D)1047、运行下面程序时,从键盘输入2.0,则输出结果是_B_.#includevoidmain()floata,b;scanf(%f,&a);if(a0.0)b=0.0;elseif(a0.5)&(a!=2.0)b=1.0/(a+2.0);elseif(a=A&ch=Z)?ch+32:ch的值是_B_.A)ZB)aC)zD)A53、下面程序的输出结果是_C_.#includevoidmain()intx=8,y=-7,z=9;if(xif(y5)printf(%
15、dn,a);elseprintf(%dn,a-);A)7B)6C)5D)455、运行下面程序时,若从键盘输入3,4,则程序的输出结果是_B_.#includevoidmain()inta,b,s;scanf(%d,%d,&a,&b);s=a;if(sprintf(%dn,s);A)14B)16C)18D)2056、下列程序的执行结果是_D_.#includevoidmain()intx=0,y=1,z=0;if(x=z=y)x=3;printf(%d,%dn,x,z);A)3,0B)0,0C)0,1D)3,157、假定等级和分数有以下对应关系:等级:A分数:85100等级:B分数:6084等级
16、:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是_D_.A)switch(grade)caseA:printf(85-100n);caseB:printf(60-84n);caseC:printf(60以下n);default:printf(等级错误!n);B)switch(grade)caseA:printf(85-100n);break;caseB:printf(60-84n);caseC:printf(60以下n);default:printf(等级错误!n);C)switch(grade)caseA:printf(85-100n);break;caseB
17、:printf(60-84n);break;caseC:printf(60以下n);default:printf(等级错误!n);D)switch(grade)caseA:printf(85-100n);break;caseB:printf(60-84n);break;caseC:printf(60以下n);break;default:printf(等级错误!n);58、能够完成如下函数计算的程序段是_B_.-1x0A)y=1;B)if(x=0)if(x!=0)if(x0)y=1;if(x0)y=1;elsey=0;elsey=0;elsey=-1;C)y=0;D)y=-1;if(x=0)if
18、(x0)y=1;if(x0)y=1;elsey=0;elsey=-1;59、有如下程序#includevoidmain()floatx=5.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(%fn,y);该程序的输出结果是_C_.A)0.000000B)0.50000C)0.200000D)1.00000060、以下程序的执行结果是_B_.#includevoidmain()intx=1,y=0;switch(x)case1:switch(y)case0:printf(firstn);break;case1:printf(secon
19、dn);break;case2:printf(thirdn);A)firstB)firstsecondthirdC)firstD)secondthird61、以下程序的执行结果是_A_.#includevoidmain()inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(d=%dn,d);A)d=20B)d=10C)d=15D)2562、有如下程序:#includevoidmain()inta=2,b=-1,c=2;if(aif(b0)c=0;elsec+;printf(%dn,c);该程序的输出结果是_C_.A)0B)1C)2D)363、下列程序执行后的输出结果是_B_.#includevoidmain()intx,y=1,z;if(z=y)0)x=4;elseif(y=0)x=5;elsex=6;printf(%d,%dn,x,y);A)4,1B)6,1C)5,0D)出错信息64、有如下程序#includevoidmain()intx=1,a=0,b=0;switch(x)case0:b+;case1:a+;case2:a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是_A_.
限制150内