1、C语言考试题库及答案C语言理论上机考试选择题部分(共 200题)1、 下面程序的输出是 D#includevoid main()( int k=11;printf(k=%d,k=%o,k=%xn”,k,k,k);A)k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、 在下列选项中,不正确的赋值语句是_DA)+t; B) n1=(n2=(n3=0);C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是 AA) tB) AC) 65D) A4、表认式::10!=9的值是 _D .A) tr
2、ueB)非零值C) 0D) 15、C语 B_言提供的合法的.数据类型关键字是A) DoubleB) shortC) integerD) Char6、 字符(char)型数据在微机内存中的存储形式是_D_.A)反码 B)补码 C) EBCDIC 码 D) ASCII 码7、 C语言程序的基本单位是 C.A)程序行 B)语句 C)函数 D)字符8、 设int a=12,则执行完语句 a+=a-=a*a后,a的值是 D A) 552 B) 264 C) 144 D) -2649、 执行下面程序中的输出语句后,输出结果是 B_.#includevoid main()(int a;printf(%dn,
3、(a=3*5,a*4,a+5);A) 65 B) 20 C) 15 D) 1010、 下面程序的输出是 B.#includevoid main()(int x=023;printf(%dn,-x);A) 17 B) 18 C) 23 D) 2411、 下面程序的输出的是 C.#includevoid main()(int x=10,y=3;printf(%dn,y=x/y);A) 0 B) 1 C) 3 D)不确定的值12、 已知字母 A的ASCII码为十进制的 65,下面程序的输出是 A .#includevoid main()(char ch1,ch2;ch1=A+5-3;ch2=A+6-
4、3;printf(%d,%cn,ch1,ch2);A) 67,D B) B,C C) C,D D)不确定的值13、 若要求在if后一对圆括号中表示 a不等于0的关 系,则能正确表示这一关系的表达式为 D_.A) a0 B) !a C) a=0 D) a14、 以下程序的输出结果是 D.#includevoid main()(int x=10,y=10;printf(%d %dn,x-,-y);A) 10 10 B) 9 9 C) 9 10 D) 10 915、 设有如下定义:int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y);的输出结果是 D.A) 1 B) 0
5、C) 4 D) 316、 为表示关系 x y z,应使用 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)整型,实型,逻辑型,字符型18、 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf(%d,(x,y);上面程序片段的输出结果是 A .A)200 B) 100C) 100 200 D)输出格式符不够输出不确定的值19、 阅读下面的程序#includevo
6、id main()char ch;scanf(%3c”,&ch);printf(%c”,ch);如果从键盘上输入abc则程序的运行结果是 A .A) a B) b C) c D)程序语法出错20、 阅读下面的程序#includevoid main()int i,j;i=010;j=9;printf(%d,%d”,i-j,i+j);则程序的运行结果是 D.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、 阅读下面的程序#includevoid main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d”,i,j,m,n)
7、;程序的运行结果是 C.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知 a=12,则 表达式 a+=a-=a*=a 的 结果是 A_.A) 0B) 144C) 12D) -26423、若已定义int a,则表达式a=10,a+10,a+ 的值是_B_.A) 20B) 10C) 21D) 1124、 阅读下面的程序#includevoid main()int i,j;scanf(%3d%2d,&i,&j);printf(i=%d,j=%dn”,i,j);如果从键盘上输入1234567回车,则程序的运行结果是 D.A) i=123,j
8、=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、 下面程序的输出结果是 D.#includevoid main()int a=-1, b=4, k;k=(+a=0)&(b-=0);printf(%d,%d,%dn,k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、 下面程序的输出结果是 A .#includevoid main()int a=5,b=3;float x=3.14, y=6.5;printf(%d,%dn,a+b!=a-b,x=(y-=6.1);A) 1,0 B) 0,1 C) 1,1 D)
9、0,027、 执行下面程序段后,输出结果是 A .int a;int b=65536;a=b;printf(%dn,a);A) 65536 B) 0 C) -1 D) 128、 若有以下定义和语句:int a=010, b=0x10, c=10;printf(%d,%d,%dn”,a,b,c);则输出结果是 B.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、 已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是 B.A) 2.4 B) 2.5 C) 2.75 D) 030、 若已
10、定义 x和y是整型变量,x=2;,则表达式y=2.75+x/2 的值是 C.A) 5.5 B) 5 C) 3 D) 4.031、 以下程序的输出结果是 D.#includevoid main()int a=12, b=12;printf(%d,%dn,-a,+b);A) 10,10 B) 12,12 C) 11,10 D) 11,1332、 设有以下语句 :int x=10;x+=3+x%(3),贝U x的值 是.AA) 14 B) 15 C) 11 D) 1233、 若d为double型变量,则表达式d=1,d+5,d+的值是 D .A) 1 B) 6.0 C) 2.0 D) 1.034、
11、表达式 5!=3的值是 D.A) T B)非零值 C) 0 D) 135、 若有定义 int a=12,n=5,则表达式 a%=(n%2)运算后,a的值 A.A) 0 B) 1 C) 12 D) 636、 若有定义 int x=3,y=2 和 float a=2.5,b=3.5,贝U表达 式:(x+y)%2+(int)a/(int)b 的值是 _D_.A) 0 B) 2 C) 1.5 D) 137、 在C语言中,以下叙述不正确的是 A .A)在C程序中,无论是整数还是实数,都能被准确无误 的表示B)在C程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期相同D)C语言中变
12、量必须先定义后引用38、 C语言中的变量名只能由字母,数字和下划线三种 字符组成,且第一个字符 C.A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种39、 设有说明:char w; int x; float y; double z; 则表达式:w*x+z-y值的数据类型是 D.A) float B) char C) int D) double40、 一个C语言的执行是从 A .A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函 数结束C)本程序的主函数开始,到本程序的最后一个函数结 束D)本程序的第一个函数开
13、始,到本程序的主函数结束41、 设a为整型变量,不能正确表达数学关系 10a15的C语言表达式是 A .A) 10a10&a15 D) !(a=15) 42、 下列程序执行后的输出结果是 C.#include void main() int a=5,b=60,c;if (ab)c=a*b;printf(%d*%d=%dn”,b,a,c);elsec=b/a;printf(%d/%d=%dn”,b,a,c);A) 60/5=12 B) 300 C) 60*5=300 D) 1243、 如果c为字符型变量,判断 c是否为空格不能使用 A .(假设已知空格 ASCII码为32)A) if(c=32)
14、 B) if(c=32)C) if(c=40) D) if(c=)44、 运行下面程序时,若从键盘输入3,5,贝U程序的输出结果是 D.#include void main( )int x,y;scanf(%d,%d,&x,&y);if (x=y)printf(x=y);else if (xy)printf(xy);elseprintf(xy);A)33 C) xy D) xy45、 运行下面程序时,若从键盘输入数据为”6,5,7,贝U输出结果是 C.#include void main() int a,b,c;scanf(%d,%d,%d”,&a,&b,&c);if (ab)if (ac)p
15、rintf(%dn”,a);elseprintf(%dn,c);elseif (bc)printf(%dn,b);elseprintf(%dn,c);A)5 B) 6 C) 7 D)不定值46、 执行下面程序时,若从键盘输入2,贝U程序 的运行结果是 A .#include void main( ) int k; char cp;cp=getchar();if (cp=0 & cp=a & cp=f)k=cp-a+10;else k=cp-A+10;printf(%dn,k);A)2 B) 4 C) 1 D) 1047、 运行下面程序时,从键盘输入2.0,则输出 结果是B.#include v
16、oid main( ) float a,b;scanf(%f,&a);if (a0.0) b=0.0;else if (a0.5) & (a!=2.0) b=1.0/(a+2.0);else if (a10.0) b=1.0/2;else b=10.0;printf(%fn,b);A)0.000000 B) 0.500000C) 1.000000 D) 0.25000048、 执行下面程序后,运行结果是 A .#include void main( ) int x=41,y=1;if (x%3=0 & x%7=0) y+=x;printf(y=%dn”,y);elsey=x;printf(y=
17、%d,y);A) y=41 B) y=43 C) y=42 D) y=149、 运行下面程序时,从键盘输入 12,34,9,则输出结果是 A .#include void main( ) int x,y,z;scanf(%d,%d,%d”,&x,&y,&z);if (xy)if (yz)printf(%dn,z);else printf(%dn,y);else if (xz)printf(%dn,z);else printf(%dn,x);A) 34 B) 12 C) 9 D)不确定的值50、 运行下面程序时,从键盘输入字母 H,则输出结果是 C.#include void main( ) c
18、har ch;ch=getchar();switch(ch) case H:printf(Hello!n);case G:printf(Good morning!n);default:printf(Bye_Bye!n);A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行代U程序段后的输出结果是 _A .int x=1,y=1,z=1;x+=y+=z;printf(%dn,x=A& ch=Z)?ch+32:ch 的值是 _B_.A) Z B) a C) zD) A53、 下面
19、程序的输出结果是 C.#include void main() int x=8,y=-7,z=9;if (xy)if (y0) z=0;else z-=1;printf(%dn”,z);A) 8 B) 1 C) 9 D) 054、 运行下面程序时,若从键盘输入5 ”,贝U程序的输出结果是 B.#include void main( ) int a ;scanf(%d”,&a);if (a+5)printf(%dn”,a);else printf(%dn,a-) ;A) 7 B) 6 C) 5 D) 455、运行卜面程序时, 程序的输出结果是_若从键盘输入_B_.3, 4 ”,则#include
20、 void main( ) int a,b,s;scanf(%d,%d,&a,&b);s=a;if (sb) s=b;s=s*s;printf(%dn,s) ;A) 14 B) 16 C) 18D) 2056、下列程序的执行结果是 D.#include void main( ) int x=0,y=1,z=0;if (x=z=y)x=3;printf(%d,%dn,x,z);A) 3,0 B) 0,0 C) 0,1 D) 3,157、 假定等级和分数有以下对应关系:等级:A 分数:85100等级:B 分数:6084等级:C 分数:60以下对于等级grade输出相应的分数区间,能够完成该功 能的
21、程序段是 D.A)switch (grade)case A:printf(85-100n);case B:printf(60-84n);case C:printf(60 以下 n);default:printf(等级错误!n);B)switch (grade)case A:printf(85-100n);break;case B:printf(60-84n);case C:printf(60 以下 n);default:printf(等级错误!n);C)switch (grade)case A:printf(85-100n);break;case B:printf(60-84n);break;
22、case C:printf(60 以下 n);default:printf(等级错误!n);D)switch (grade)case A:printf(85-100n);break;case B:printf(60-84n);break;case C:printf(60 以下 n);break;default:printf(等级错误!n);58、 能够完成如下函数计算的程序段是 _B.r -1x0A) y=1;B) if (x=0)59、 有如下程序#include void main() float x=5.0,y;if(x0.0) y=0.0;else if (x10.0) y=1.0/x
23、;else y=1.0;printf(%fn”,y); 该程序的输出结果是 C.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、 以下程序的执行结果是 B.#include void main( ) int x=1,y=0;switch (x)case 1:switch (y) case 0:printf(firstn);break;case 1:printf(secondn);break; case 2:printf(thirdn); A) first B) firstsecond thirdC) first D) secondthird61、
24、以下程序的执行结果是 A#include void main( ) int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf(d=%dn”,d);A)d=20 B)d=10 C)d=15 D)2562、 有如下程序:#include void main( ) int a=2,b=-1,c=2;if (ab)if (b0) c=0;else c+;printf(%dn,c);该程序的输出结果是C.A) 0 B) 1 C) 2 D) 363、 下列程序执行后的输出结果是 B.#includ
25、e void main( ) int x,y=1,z;if (z=y)0) x=4;else if (y=0) x=5;else x=6;printf(%d,%dn,x,y);A) 4,1 B) 6,1 C) 5,0 D)出错信息64、 有如下程序#include void main( ) int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn”,a,b);该程序的输出结果是 A .A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、 下面程序的输出结果是 C.#include void main()( int a=-1,b=1,k;if (+a0) & (b-=0)printf(%d %dn”,a,b);elseprintf(%d %dn,b,a);A) -1 1 B) 0 1 C) 1 0 D) 0 066、 假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x; m=(my)?m:y; m=(m100) printf(%dn”,a100);else printf(%dn,a=100);A)a=100 B)100 C) 0 D) 168、 若执
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1