A)53 B)48 C)32 D)Error 答案为A
16. 若有int i = 10,j=0; 并执行下列程序段: switch ( i ) {
case 9: i += 1; break; case 10:
case 11: i -= 2; break; default: j+= 3; break; }
则变量i的结果是( )。
A)13 B)10 C)11 D)8 答案为D
17. 若 int i = 10,执行下列程序: switch ( i )
{ case 9: i += 1; case 10:
case 11: i -= 1; default: i += 1; }
则变量i的结果是( )。
(A)10 (B)11 (C)12 (D)9 答案为A
18. 若给定条件表达式(m)?(a++): (a--),则其中表达式m( )。
A)和(m==0)等价 B)和(m==1)等价 C)和(m!=0)等价 D)和(m!=1)等价 答案为C
19. 以下程序段的运行结果是( )。 int a=7,b=8,c=9; if(a>b)
a=b,b=c;c=a;
printf(\ A)7,8,7 B)7,9,7 C)8,9,7 D)7,8,9 答案为A
20. 要判断字符变量ch中的值是否为数字字符,则的表达式是( )。 A)ch≥0&&ch≥9 B)ch>=0&&ch<=9 C)ch>=''0''&&ch<=''9'' D)ch≥''0''ch≥''9'' 答案为C
21. 两次运行以下程序,若从键盘上分别输入6和4,则输出结果是( )。 main( ) {int x;
scanf(\
if(x++>5) printf(\
A)7和5 B)7 C)7和4 D)6和4 答案为B
22. 下面程序的输出是( )。 main( ) {int y=9; for(;y>0;y--)
if(y%3==0) {printf(“%d”,- -y);continue;} }
A)741 B)852 C)963 D)875421 答案为B
23. 假定所有变量均已说明,下列程序段运行后x的值是( )。 a=b=c=0;x=35; if(!a)x--;
else if(b)
if(c) x=3; else x=4; A)34 B)4 C)35 D)3 答案为B
24. 下面程序的运行结果是( )。 main( ) {int k=3;
if (k++>3) printf(\ else printf(\ } A)5 B) 4 C)3 D)2 答案为C
25. 下面程序的输出结果为( ) 。 main( )
{int x=0,a=10,b=20,c=15;
if (a>b) if(b printf(\ } A)0 B)1 C)2 D)不确定 答案为A 26. 下列程序的输出结果是( ) #include a=(c=a>b)&&(b=c A)1,2,3 B)0,2,0 C)1,2,0 D)1,0,0 答案为B 三、多选题 1. 如果t<>0,则把变量a的值赋给变量c,否则把变量b的值赋给变量c,能实现此功能 的语句有( )。 (A)c=t?a:b; (B)c=!t?a:b; (C)if(t)c=a;else c=b; (D)if(!t)c=a;else c=b; (E)c=t!=0?a:b; 答案为ACE 2. 以下叙述的有( ) A)if ((x=12;)!=0)?? B) if ((x=12)!=0)?? C) 赋值语句与赋值表达式是不同的 D)在if 语句中的表达式不能有赋值语句 E)在if 语句中不能有赋值表达式 答案为BCD 3. 若int a,b,sum; 则计算a+|b|的值的方法( ) 。 A) sum=a>0?a+b:a-b; B) sum=b>0?a+b:a-b; C) if (a>0) sum=a+b; else sum=a-b; D) if (b>0) sum=a+b; else sum=a-b; E) if (b>0) sum=a-b; else sum=a+b; 答案为BD 4. 已定义int a,b,x,下列语句中合法的条件语句是( )。 A)if(a=b) ++x; C)if(a!=b) ++x; D)if(a<>b) ++x; E)if(a>=b) ++x; 答案为CE A)''A''<=c<=''Z'' B)''Z''>=c>=''A'' C)c>=''A''&& ''Z''>=c D)c>=''A''&&c<=''Z'' E)c>=''A''||c<=''Z'' 答案为CD 5章 循环结构 一、判断题 1. continue 语句可以用于switch结构中。( )答案为× 2. break语句只能用于循环语句中。( )答案为× 3. do......while循环语句至少要执行一次循环体。答案为√ 4. 语句while(!E);中的条件!E等价于E==0。( )答案为√ 5. 语句for(; ; ) {循环体} 和 while(1) {循环体}是等价的。( )答案为√ 6. 在C语言中,for语句既可以用于计数类型循环又可以用于条件类型循环。( )答案为√ 二、单选题 1. 若N为整型变量,则for(N=10;N=0;N--);循环里的循环体被( )。 A) 无限循环 B) 执行10次 C) 执行一次 D) 一次也不执行 答案为D 2. 下列程序段运行后i的值是( )。 int i=10 switch(i+1) {case 10:i++;break; case 11:++i; case 12: ++i;break; default:i=i+1; } A)11 B)13 C)12 D)14 答案为C 3. 下面的程序,描述的是( ) 5. 若变量c定义为char型,则能判断c为大写字母的有( ) main() { int x=3; do {printf(\ while(!(--x)); } (A)输出的是1 (B)输出的是1和-2 (C)输出的是3和0 (D)是死循环 答案为B 4. 执行下面程序后,a的值是( )。 #include { int a; printf(“%d\\n”,(a=3*5,a*4,a+5)); } (A)65 (B)20 (C)15 (D)10 答案为B 5. 以下程序的输出结果为( )。 #include for (i=0;i<10; i++) ; printf(\} (A) 0 (B) 123456789 (C) 0123456789 (D) 10 答案为D 6. C语句for(;;){ ??}是指( )。 (A)无意义 (B)无限循环 (C)循环执行1次 (D)循环执行0次 答案为B 7. 以下程序的输出结果是: main ( ) { int n = 4 while (n--)printf (\ } A)2 0 B)3 1 C)3 2 1 D)2 1答案为A 8. 设int a=1,则执行完循环While(a++<5);a的值是: A)6 B)5 C)1 D)-264 答案为A 9. 在下列for循环中,其循环次数是( ) for(x=1,y=0;(y!=123)&&(x<4); x++); A)4 B)3 C)1 D)无数多次 答案为B 10. 有如下程序 0