C语言考试题库及答案(1) 下载本文

Good morning! Bye_Bye! Bye_Bye!

51、执行下列程序段后的输出结果是_____A____. int x=1,y=1,z=1; x+=y+=z;

printf(\

A) 3 B) 2 C) 1 D) 4 52、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.

A) Z B) a C) z D) A

53、下面程序的输出结果是____C____. #include void main( )

{ int x=8,y=-7,z=9; if (x

if (y<0) z=0; else z-=1; printf(\ }

A) 8 B) 1 C) 9 D) 0 54、运行下面程序时,若从键盘输入\则程序的输出结果是_____B___. #include void main( ) { int a ;

scanf(\

if (a++>5)printf(\ else printf(\ }

A) 7 B) 6 C) 5 D) 4

55、运行下面程序时,若从键盘输入\,4 \,则程序的输出结果是____B___. #include void main( ) { int a,b,s;

scanf(\ s=a;

if (s

printf(\ }

A) 14 B) 16 C) 18 D) 20

56、下列程序的执行结果是_____D____. #include void main( )

{ int x=0,y=1,z=0; if (x=z=y) x=3;

printf(\ }

A) 3,0 B) 0,0 C) 0,1 D) 3,1 57、假定等级和分数有以下对应关系: 等级:A 分数:85~100 等级:B 分数:60~84 等级:C 分数:60 以下

对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____. A) switch (grade) {

case 'A':printf(\ case 'B':printf(\ case 'C':printf(\以下\\n\ default:printf(\等级错误!\\n\ }

B) switch (grade) {

case 'A':printf(\ case 'B':printf(\ case 'C':printf(\以下\\n\ default:printf(\等级错误!\\n\ }

C) switch (grade) {

case 'A':printf(\ case 'B':printf(\ case 'C':printf(\以下\\n\ default:printf(\等级错误!\\n\ }

D) switch (grade) {

case 'A':printf(\ case 'B':printf(\ case 'C':printf(\以下 \\n\ default:printf(\等级错误!\\n\ }

58、能够完成如下函数计算的程序段是__B____. ┌ -1 x<0 y= ┤ 0 x=0 └ 1 x>0

A) y=1; B) if (x>=0)

- 5 -

if(x!=0) if(x>0) y=1; if(x>0) y=1; else y=0; else y=0; else y=-1; C) y=0; D) y=-1;

if (x>=0) if (x>0) y=1; if (x>0) y=1; else y=0; else y=-1;

59、有如下程序 #include void main( )

{ float x=5.0,y; if(x<0.0) y=0.0;

else if (x<10.0) y=1.0/x; else y=1.0;

printf(\ }

该程序的输出结果是____C_____. A) 0.000000 B) 0.50000 C) 0.200000 D) 1.000000

60、以下程序的执行结果是___B_____. #include void main( ) { int x=1,y=0; switch (x) {

case 1:

switch (y) {

case 0:printf(\ case 1:printf(\ }

case 2:printf(\ } }

A) first B) first second third C) first D) second third

61、以下程序的执行结果是____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(\ }

A) d=20 B) d=10 C) d=15 D) 25

62、有如下程序: #include void main( )

{ int a=2,b=-1,c=2; if (a

if (b<0) c=0; else c++;

printf(\ }

该程序的输出结果是___C_____.

A) 0 B) 1 C) 2 D) 3

63、下列程序执行后的输出结果是____B____. #include void main( ) { int x,y=1,z;

if ((z=y)<0) x=4; else if (y==0) x=5; else x=6;

printf(\ }

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____.

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2

65、下面程序的输出结果是____C_____. #include

- 6 -

void main( )

{ int a= -1,b=1,k;

if ((++a<0) && (b--<=0)) printf(\ else

printf(\ }

A) -1 1 B) 0 1 C) 1 0 D) 0 0

66、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w

A) 4 B) 3 C) 2 D) 1

67、以下程序的输出结果是___D______. main( ) { int a=100;

if (a>100) printf(\ else printf(\ }

A) a<=100 B) 100 C) 0 D) 1

68、若执行下面的程序从键盘上输入9,则输出结果是.______B________ #include void main( ) {int n;

scanf(\

if (n++<10) printf(\ else printf(\

A) 11 B) 10 C) 9 D) 8

69、以下程序输出结果是_____D_____. #include void main( ) { int m=4;

if (++m>5) printf(\ else printf(\ }

A) 7 B) 6 C) 5 D) 4

70、若执行下面的程序从键盘上输入5,则输出结果是. #include void main( ) {int x;

scanf(\

if (x++>5) printf(\ else printf(\ }

A) 7 B) 6 C) 5 D) 4

71、以下程序段运行结果是____A____. int x=1,y=1,z=-1; x+=y+=z;

printf(\

A) 1 B) 2 C) 4 D) 不确定的值 72、有以下程序 #include void main( ) { int a,b,c=246; a=c/100%9; b=(-1)&&(-1);

printf(\ }

输出结果是____A____.

A) 2,1 B) 3,2 C) 4,3 D) 2,-1

73、运行下面程序时,若从键盘输入数据为\, 则输出结果是___C____. #include \ void main()

{ int num,i,j,k,place; scanf(\ if (num>99) place=3; else if(num>9)

place=2; else

place=1; i=num/100;

j=(num-i*100)/10; k=(num-i*100-j*10); switch (place)

{ case 3: printf(\ break;

case 2: printf(\ break;

case 1: printf(\ } }

A) 123 B) 1,2,3 C) 321 D) 3,2,1

74、执行下列程序后的输出结果是___D____. #include void main( )

- 7 -

{ int k=4,a=3,b=2,c=1;

printf(\ }

A) 4 B) 3 C) 2 D) 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(\ b=a>15?a+10:a-10; printf(\ }

A) 5 B) 25 C) 15 D) 10

77、运行下面程序后,输出是___D___.

#include void main( ) { int k=-3;

if (k<=0) printf(\ else printf(\ }

A) #### B) ****

C) ####****

D) 有语法错误不能通过编译

78、执行下面程序的输出结果是____C____.

#include void main( )

{ int a=5,b=0,c=0;

if (a=a+b) printf(\ else printf(\ }

A) 有语法错误不能编译 B) 能通过编译,但不能通过连接 C) 输出 **** D) 输出 ####

79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系. A) 缩排位置相同的if B) 在其之前未配对的if C) 在其之前尚未配对的最近的if D) 同一行上的if

80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.

x=y=z=1;

t=++x || ++y && ++z;

A) 不定值 B) 4 C) 1 D) 0

81、以下程序段____C______.

x=-1; do {

x=x*x; } while (!x);

A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误

82、对下面程序段描述正确的是___B____.

int x=0,s=0;

while (!x!=0) s+=++x; printf(\A) 运行程序段后输出0 B) 运行程序段后输出1

C) 程序段中的控制表达式是非法的 D) 程序段循环无数次

83、下面程序段的输出结果是____C____.

x=3;

do { y=x--;

if (!y) {printf(\ printf(\ } while(x=2);

A) ## B) ##* C) 死循环 D)输出错误信息

84、下面程序的运行结果是____B____.

#include void main( )

{ int a=1,b=10; do

{ b-=a;a++; } while(b--<0);

printf(\ }

A) 3,11 B) 2,8 C) 1,-1 D) 4,9

85、下面程序段的运行结果是____B______. int n=0;

- 8 -