C语言考试题库及答案精编.docx

上传人(卖家):吉庆会 文档编号:5850909 上传时间:2023-05-12 格式:DOCX 页数:54 大小:173.18KB
下载 相关 举报
C语言考试题库及答案精编.docx_第1页
第1页 / 共54页
C语言考试题库及答案精编.docx_第2页
第2页 / 共54页
C语言考试题库及答案精编.docx_第3页
第3页 / 共54页
C语言考试题库及答案精编.docx_第4页
第4页 / 共54页
C语言考试题库及答案精编.docx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、1 、下面程序的输出是 _D#includevoid main() int k=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) t B) AC) 65D) A4、表达式 : 10!=9的值是 D.A) true B)非零值 C) 0D) 15、C 语言提供的合法的数

2、据类型关键字是B.A) DoubleB) shortC)integer D) 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的值是DA) 552B) 264C) 144D) -2649、执行下面程序中的输出语句后, 输出结果是 B_.#includevoid main()int a;ch1=A+5-3;A) 65 B) 20C) 15ch2=A+6-3;D) 10

3、printf(%d,%cn,ch1,ch2);10、下面程序的输出是 B#includeA) 67,D B) B,C C) C,D D) 不void main()确定的值int x=023;13、若要求在 if 后一对圆括号中表示 a 不printf(%dn,-x);等于 0 的关系 , 则能正确表示这一关系的表达式为 D_.A) 17 B) 18C) 23A) a0 B) !a C) a=0D) 24D) a11、下面程序的输出的是 C_14、以下程序的输出结果是 D.#include#includevoid main()void main()int x=10,y=3; int x=10,y

4、=10;printf(%dn,y=x/y);printf(%d %dn,x-,-y);A) 0B) 1 C) 3 D)不A) 10 10B) 9 9 C) 9 10确定的值D) 10 912、已知字母 A 的 ASCII 码为十进制的 65,15、设有如下定义 :下面程序的输出是 A.int x=10,y=3,z;#include则语句printf(%dn,(a=3*5,a*4,a+5);char ch1,ch2;的输出结果是 DA) 1 B) 0 C) 4D) 316、为表示关系x y 乙应使用C语言表 达式 _A_.A) (x=y)&(y=z)B)(x=y)AND(y=z)C) (x=y=

5、z)D) (x=y) &(y=z)17 、 C 语言中非空的基本数据类型包括BA) 整型, 实型,逻辑型B) 整型,实型, 字符型C) 整型,字符型 ,逻辑型D) 整型,实型,逻辑型 ,字符型18 、若 x 和 y 都是 int 型变量 ,x=100,y=200, 且有下面的程序片段 :printf(%d,(x,y);上面程序片段的输出结果是 A_.A) 200 B) 100C) 100 200 D) 输出格式符不够 , 输出 不确定的值19 、阅读下面的程序void main()char ch;scanf(%3c,&ch); printf(%c,ch);如果从键盘上输入abc 则程序的运行结

6、果是 _AA) 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,17D) -1,17#include21 、阅读下面的程序#includevoid main()int i,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,112

7、2、已知 a=12, 则表达式 a+=a-=a*=a 的结 果是 A_.A) 0 B) 144 C) 12D) -26423 、 若 已 定 义 int a, 则 表 达 式 a=10,a+10,a+ 的值是 _B_.A) 20 B) 10 C) 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=4567B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面

8、程序的输出结果是 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,2D) 0,0,326、下面程序的输出结果是 A.#includevoid main()int a=5,b=3;float x=3.14, y=6.5;A) 2.4 B) 2.5 C) 2.75printf(%d,%dn,a+b!=a-b,x=(y-=6.1);A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是 A.int a; int

9、 b=65536;a=b;printf(%dn,a);A) 65536 B) 0 C) -1D) 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,10D) 8,8,1029、已知有 double 型变量 x=2.5,y=4.7, 整 型变量 a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是 B.D) 030、若已定义 x 和 y 是整型变量 ,x=2;, 则表 达式 y=2.75+x/2 的值是 C.A) 5.5 B)

10、 5 C) 3D) 4.031、以下程序的输出结果是 D.#includevoid main()int a=12, b=12;printf(%d,%dn,-a,+b);A) 10,10 B) 12,12 C) 11,10D) 11,1332、设有以下语句 :int x=10;x+=3+x%(3),则 x 的值是 .AA) 14 B) 15 C) 11D) 1233、若 d 为 double 型变量, 则表达式 d=1,d+5,d+ 的值是 D_.A) 1 B) 6.0 C) 2.0D) 1.034、表达式 5!=3 的值是 D.A) T B) 非 零 值C) 0B) 必须为下划线D) 1C)

11、必须为字母或下划线35、若 有定义 int a=12,n=5, 则表 达式D) 可以是字母 , 数字或下划线中的任意一a%=(n%2运算后,a的值A.种A) 0B) 1C) 1239、设有说明 :char w; int x; float y;D) 6double z; 则表达式 : w*x+z-y值的数据类36 、 若 有 定 义 int x=3,y=2 和 float型是_D.a=2.5,b=3.5,则表达A) floatB) char C) int式:(x+y)%2+(int)a/(int)b的值是 _D_.D) doubleA) 0B) 2C) 1.540、一个C语言的执行是从_A.D)

12、 1A) 本程序的主函数开始 , 到本程序的主函37、在 C 语言中 , 以下叙述不正确的是数结束A.B) 本程序的第一个函数开始到本程序的A)在C程序中,无论是整数还是实数,都能最后一个函数结束被准确无误的表示C) 本程序的主函数开始 , 到本程序的最后B) 在 C 程序中 , 变量名代表存储器中的一一个函数结束个位置D) 本程序的第一个函数开始到本程序的C) 静态变量的生存期与整个程序的生存期主函数结束相同41、设 a 为整型变量 , 不能正确表达数学关D) C 语言中变量必须先定义后引用系10a15的C语言表达式是A.38、C 语言中的变量名只能由字母, 数字和A) 10a10&a154

13、2 、 下 列 程 序 执 行 后 的 输 出 结 果 是 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=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

14、, 则 程 序 的 输 出 结 果 是 D.void main( )int x,y;scanf(%d,%d,&x,&y);if (x=y) printf(x=y);else if (xy) printf(xy);else printf(xy);A) 33 C) xy D) xy45、运行下面程序时, 若从键盘输入数据为 6,5,7 ,则输出结果是 C_.#include void main( ) int a,b,c;scanf(%d,%d,%d,&a,&b,&c);if (ab)if (ac)printf(%dn,a);elseelseif (bc)printf(%dn,b);elseprin

15、tf(%dn,c);A) 5 B) 6 C) 7 D)不定值46 、 执 行 下 面 程 序 时 , 若 从 键 盘 输 入2,贝y程序的运行结果是A .#include void mai n() 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) 2B) 4C) 1D) 1047 、 运 行 下 面 程 序 时 , 从 键 盘 输 入2.0,则输出结果是B.#include void main( ) float a,b;scanf(%f,&a);if (a0

16、.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.000000B) 0.500000C) 1.000000D) 0.25000048 、 执 行 下 面 程 序 后 , 运 行 结 果 是A.#include void main( ) int x=41,y=1;if (x%3=0 & x%7=0) y+=x;printf(y=%dn,y);elseA) y=41B) y=43C) y=42caseG:printf(GoodD) y=149

17、、 运 行 下 面 程 序 时 , 从 键 盘 输 入 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( ) char ch;ch=getchar( );s

18、witch(ch)morning!n);default:printf(Bye_Bye!n);A) Hello! B) Hello!GoodMorning!C) Hello! D) Hello!Good morning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是 A.int x=1,y=1,z=1;x+=y+=z;printf(%dn,x=A & chv二Z)?ch+32:ch的值是_B_.A) ZB) aC) z53、下面程序的输出结果是 C.#include void main( ) int x=8,y=-7,z=9;if (xy)if (y0) z=0;else z

19、-=1; printf(%dn,z);A) 8 B) 1 C) 9D) 054、运行下面程序时, 若从键盘输入5 ,则程序的输出结果是 B.#include void main( ) int a ;scanf(%d,&a);if (a+5)printf(%dn,a); else printf(%dn,a-) ;A) 7B) 6C) 5D) 455、运行下面程序时,若从键盘输入3 ,4#include void main( ) int a,b,s;scanf(%d,%d,&a,&b); s=a;if (sb) s=b; s=s*s;printf(%dn,s) ;A) 14B) 16C) 18D)

20、 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,1D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85100等级:C 分数:60以下case C:printf(60以下n);x0B) if (x=0)if(x0)对于等级 grade 输出相应的分数区间, 能够 完成该功能的程序段是 D.A) switch (grade)case A:printf(85-100n);case B:printf(60-84n)

21、;case C:printf(60以下 n);default:printf(等级错误 !n);B) switch (grade)caseA:printf(85-100n);break;case B:printf(60-84n);case C:printf(60以下 n);default:printf(等级错误 !n);C) switch (grade)caseA:printf(85-100n);break;caseB:printf(60-84n);break;default:printf(等级错误 !n);D) switch (grade)caseA:printf(85-100n);break

22、;caseB:printf(60-84n);break;case C:printf(60以 下n);break;default:printf(等级错误 !n);58、能够完成如下函数计算的程序段是 _B.厂-1y= T 0L 1A) y=1;if(x!=0)y=1;if(x0) y=1;else y=0;if (x=0)if (x0)y=1;if (x0) y=1;else y=0;else y=-1;59、有如下程序#include void main( ) float x=5.0,y; if(x0.0) y=0.0;else if (x10.0) y=1.0/x; else y=1.0;p

23、rintf(%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:case0:printf(firstn);break;case1:printf(secondn);break;case 2:printf(thirdn);A) firstB) firstsecond thirdC) firstD) secondthird61、以下程序的执行结果是 A#include void main(

24、) 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;switch (y)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) 2D) 363 、 下 列 程 序 执 行 后 的 输 出 结 果 是 B.#include v

25、oid 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=0D) a=2,b=265、下面程序的输出结果是 C#i

26、nclude void main( ) int a=-1,b=1,k;if (+a0) & (b-=0)#include 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) 0D) 168、 若执行下面的程序从键盘上输入9, 则输出结果是 .

27、BC) 9C) 55,则void main( )int n;scanf(%d,&n);if (n+10) printf(%dn,n);else printf(%dn,n-);A) 11 B) 10D) 869、 以下程序输出结果是 D_#include void main( ) int m=4;if (+m5) printf(%dn,m-); else printf(%dn,-m);A) 7 B) 6D) 470、若执行下面的程序从键盘上输入 输出结果是 .#include void main( )int x;scanf(%d,&x);if (x+5) printf(%dn,x);#inclu

28、de stdio.helse printf(%dn,x-);A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是 A.int x=1,y=1,z=-1;x+=y+=z;printf(%dn,xy?y:x);A) 1 B) 2C) 4 D) 不确定的值72、有以下程序#include void main( ) int a,b,c=246;a=c/100%9;b=(-1)&(-1);printf(%d,%dn,a,b);输出结果是 A.A) 2,1 B) 3,2C) 4,3D) 2,-173、运行下面程序时,若从键盘输入数据为123 ,则输出结果是 _Cvoid main() int

29、num,i,j,k,place; scanf(%d,&num);if (num99)place=3;else if(num9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place) case 3 printf(%d%d%dn,k,j,i);break;case 2: printf(%d%dn,k,j);break;case 1: printf(%dn,k);77、运行下面程序后 , 输出是 _#include void main( ) int k=-3;if (k=0) printf(*n

30、);else printf(#n)A) #B) *C) #*D) 有语法错误不能通过编译78、执行下面程序的输出结果是#include void main( ) int a=5,b=0,c=0;if (a=a+b) printf(*n); else printf(#n);A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出 *D) 输出 #79、为了避免嵌套的 if-elseC语句的二义74 、 执 行 下 列 程 序 后 的 输 出 结 果 是 _D.#include void main( ) int k=4,a=3,b=2,c=1;printf(%dn,ka?k:cb?c:a

31、);A) 4 B) 3 C) 2D) 1 75、以下条件表达式中能完全等价于条件表 达式 x 的是 B_.A) (x=0) B) (x!=0) C) (x=1)D) (x!=1)76、若运行下面程序时 , 给变量 a 输入 15, 则输出结果是 _A_.#include void main( ) int a,b;scanf(%d,&a);b=a15?a+10:a-10;printf(%dn,b) ;10性,C语言规定else总是与_C 成配对关系 .A) 缩排位置相同的 ifB) 在其之前未配对的 ifC) 在其之前尚未配对的最近的 ifD) 同一行上的 if80、设 x 、 y 、z 、 t

32、 均为 int 型变量 , 则 执行以下语句后 ,t 的值为 C.x=y=z=1;t=+x | +y & +z;A) 不 定 值B) 4 C) 1D) 081、以下程序段 C.x=-1;dox=x*x; while (!x);A) 是死循环B) 循环执行两次C) 循环执行一次 D) 有语法错误82、对下面程序段描述正确的是 _Bint x=0,s=0;while (!x!=0) s+=+x; printf(%d,s);A) 运行程序段后输出 0B) 运行程序段后输出 1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是 C.x=3;do y=x-;if (!y

33、)printf(*);continue;printf(#); while(x=2);A) # B) #* C) 死循环 D) 输出 错误信息84、下面程序的运行结果是 B.#includevoid main( ) int a=1,b=10;do b-=a;a+; while(b-0);printf(%d,%dn,a,b);A) 3,11 B) 2,8 C) 1,-1D) 4,985、下面程序段的运行结果是 Bint n=0;while (n+=2)printf(%d,n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是 _Dint x=0,y=0;whil

34、e (x15) y+,x+=+y; printf(%d,%d,y,x);A) 20,7 B) 6,12 C) 20,8D)8,2087、下面程序的运行结果是 _B.#includevoid main() int s=0,i=1;while (s=10) s=s+i*i;i+;printf(%d,-i);A) 4B) 3C) 5D) 688、函数 pi 的功能是根据以下近似公式求n 值:C(n * n )/6=1+1/(2*2)+1/(3*3)+.+1/(n*n)请填空,完成求n的功能。#include void main( ) double s=0.0; int i,n; scanf(%ld,

35、&n);for(i=1;i3;x-) if(x%3) x-;-x; -x;printf(%d ,x);D) 7 390、下面程序的运行结果是 D#includevoid main( ) int a,b;a=-1;b=0;do +a;+a;b+=a; while(a9);printf(%dn,b);A) 34B) 24C) 26D) 2591 、下面程序段的运行结果是D.for(i=1;i=5;)printf(%d,i);i+;A) 12345 B) 1234 C) 15 D)无限循环92、下面程序的输出结果是 B#includevoid main( ) int n=4;while (n-) p

36、rintf(%d ,n-);A) 2 0 B) 3 1 C) 3 2 1D) 2 1 093、以下程序运行后的输出结果是_D.#includevoid main() int i=10,j=0;do j=j+1; i-;while(i2);printf(%dn,j);A) 50B) 52C) 51D) 894、以下函数的功能是:求 x 的 y 次方,请填空.C#includevoid main() int i,x,y;double z;A) 12 B) 15 C) 20 D) 2597、下面程序的输出结果是 _ #include void main( )x int i;for(i=1;i6;i+)ifprintf(#);continue;printf(*);printf(n);A) #*#*# B) # C) *D) *#*#*98、下面程序的输出结果是 _ #include void main( ) int x=10,y=10,i;for(i=0;x8;y=+i) printf(%d %d ,x-,y);A) 10 1 9 2 B) 9 8 7 6A(i%2!=0)Dscanf(%d %d,&x,&y);for(i=1,z=x;iy;i+)z=z* ;prin tf(xAy=%en,z);A) i+B) x+C)D) i95、有如下程序#includevoid main()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 待归类文档
版权提示 | 免责声明

1,本文(C语言考试题库及答案精编.docx)为本站会员(吉庆会)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|