计算机二级C语言选择题 下载本文

if (c!=3) ; r+=3; if (d==4) r+=4; printf(“%d\\n”,r); }

则程序的输出结果是

A 6 B 10 C 3 D 7 标准答案:B

177、若有以下程序

#include main( )

{ int s=0,n;

for (n=0;n<4;n++) { switch(n)

{ default: s+=4;

case1 : s+=1; break; case2 : s+=2; break; case3 : s+=3; } }

printf(“%d\\n”, s); }

则程序的输出结果是

A 11 B 15 C 13 标准答案:A

178、若有以下程序

#include main( )

{ int a=-2,b=0;

do { ++b ; } while(a++); printf(“%d,%d\\n”, a, b); }

则程序的输出结果是

A 2,3 B 1,3 C 1,2 标准答案:B

179、若有以下程序

#include main( )

{ int a=6, b=0, c=0; for ( ;a&&(b==0) ; )

{ b+= a; a-= c++; } printf(“%d,%d,%d\\n”, a,b,c); }

则程序的输出结果是

A 5,6,0 B 6,6,1 C 5,6,1 标准答案:B

180、以下选项中非法的C语言字符常量是

29

D 10 D 0,2 D 6,0,0

A ?\\09? B ?\\x9d? C ?\\x09? D ?9? 标准答案:A

181、若有定义语句

char c=?\\101?; 则变量c在内存中占

A 1个字节 B 3个字节 C 4个字节 D 2个字节 标准答案:A

182、若有以下程序

#include main( )

{ char c1, c2;

c1=?C?+?8?-?3?; c2=?9?-?0?; printf( “%c %d\\n”, c1, c2); }

则程序的输出结果是

A F ?9? B H ?9? C 表达式不合法输出无定值 D H 9 标准答案:D

183、表示关系式x≤y≤z的C语言表达式的是

A (x<=y<=z) B (x<=y)!(y<=x) C (x<=y)&&(y<=x) D (x<=y)||(y<=x) 标准答案:C

184、有以下程序

#include main( )

{ int x=1, y=0, a=0, b=0; switch (x)

{ case 1: switch (y)

{ case 0: a++; break; case 1: b++; break; }

case 2: a++; b++; break; }

printf(“a=%d,b=%d\\n”, a, b); }

程序运行后的输出结果是

A a=2,b=1 B a=2,b=2 C a=1,b=0 D a=1,b=1 标准答案:A 185、有以下程序

#include main( )

{ int k, j, s;

for(k=2; k<6;k++,k++) { s=1;

for (j=k; j<6;j++) s+=j; }

printf(“%d\\n” , s); }

30

程序运行后的输出结果是

A 6 B 40 C 24 D 10 标准答案:D

186、由以下while构成的循环,循环体执行的次数是 int k=0;

while (k=1) k++;

A 执行一次 B 有语法错,不能执行 C 无限次 D 一次也不执行 标准答案:C

187、若变量已正确定义,以下选项中非法的表达式是

A ?A?+32 B ?a?%4 C ?a?=1/2*(x=y=20,x*3) D a!=4||?b? 标准答案:C 188、有以下程序

#include main( )

{ int x=35, B; char z=?B?; B= ( ( x ) &&( z

程序运行后的输出结果是

A 0 B 35 C 66 D 1 标准答案:D

189、与数学表达式x≥y≥z对应的C语言表达式是

A (x>=y>=z) B (x>=y)&&(y>=z) C (x>=y)||(y>=x) D (x>=y)!(y>=z) 标准答案:B

190、有以下程序

#include main( )

{ double x=2.0,y; if (x<0.0) y=0.0;

else if ( (x<5.0)&&(!x) ) y=1.0/(x+2.0); else if (x<10.0) y=1.0 / x; else y=10.0; printf(“%f\\n”, y); }

程序运行后的输出结果是

A 0.250000 B 0.500000 C 1.0000000 D 0.000000 标注答案:B 191、有以下程序

#include main( )

{ int i, sum;

for ( i=1; i<6; i++) sum+=i; printf(“%d\\n”,sum); }

程序运行后的输出结果是

A 随机值 B 15 C 16 D 0

31

标准答案:A 192、有以下程序

#include main( )

{ int a = 3; do

{ printf(“%d,”, a-=2); } while ( ! (--a) ); printf(“\\n”); }

程序运行后的输出结果是

A 3,0, B 1,0 C 1 , D 1,-2, 标准答案:D

193、以下叙述中正确的是

A 关于运算符两边的运算对象可以是C语言中任何合法的表达式 B 在C语言中,逻辑真值和假值分别对应1和0

C 分支结构是根据算术表达式的结果来判断流程走向的

D 对于浮点变量x和y,表达式:x==y是非法的,会出编译错误 标准答案:A

194、以下叙述中正确的是

A 对于逻辑表达式:a++||b++,设a的值为1,则求表达式的值后,b的值会发生改变

B 关系运算符的结果有三种:0,1,-1

C else不是一条独立的语句,它只是if语句的一部分

D 对于逻辑表达式:a++&&b++,设a的值为0,则求解表达式的值后,b的值会发生改变 标准答案:C

195、以下叙述中正确的是

A 在for语句中,continue与break的效果是一样的。可以互换 B 使用break语句可以使流程跳出switch语句体 C comtinue语句使得整个循环终止

D break语句不能用于提前结束for语句的本层循环 标准答案:B

196、以下叙述中正确的是

A 循环发生嵌套时,最多只能两层

B 三种循环for,while,do-while可以互相嵌套 C for语句的圆括号中的表达式不能都省略掉

D 循环嵌套时,如果不进行缩进形式书写代码,则会有编译错误 标准答案:B

197、下面选项中合法的字符常量是

A ?X? B ?abc? C “X” D ?\\? 标准答案:A

198、以下叙述中正确的是

A 字符常量在内存中占2个字节 B 字符常量是不能进行关系运算的 C 字符常量需要用单引号括起来

D 转义字符要用双引号括起来,以便于普通的字符常量区分开 标准答案:C

32