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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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
{ 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