① 4 ② 3 ③ 2 ④ 1 27.以下关于switch语句和break语句的描述中,只有 是正确的。
① 在switch语句中必须使用break语句。 ② break语句只能用于switch语句中。
③ 在switch语句中,可根据需要用或不用break语
句。
④ break语句是switch语句的一部分。
21.(1) ② (2) ①22.③ 23.④ 24.② ,③
25.(1) ④ (2) ③ (3) ④ 26.① 27.③ 28.②
28.设有说明语句:int a=2,b=7,c=5;则执行以下语句后,输出为 2 。
switch(a>0) {
case 1: switch(b<0)
{ case 1: printf(“@”); break; case 2: printf(“!”); break; }
case 0: switch(c==5)
{ case 0: printf(“*”); break;
case 1: printf(“#”); break;
default:printf(“$”); break; }
default: printf(“&”);
}
① @#& ② #& ③ *& ④ $&
29. 以下程序的输出结果是 1 。
main() {
int a=0,i=1; switch(i)
{ case 0:
case 1: a+=2; case 2: case 3: a+=3; default: a+=7;
}
printf(“%d\\n”,a);
}
① 12 ② 7 ③ 2 ④ 5
30.在C语言中,下列 3 表达式能正确表示“a ?10或a ? 0”。
① a>=10 or a<=0 ② a>=10 | a<=0 ③ a>=10 || a<=0 ④ a>=10 && a<=0 31.若有以下程序段,w和k都是整型变量:
┇ w=k;
LB: if (w==0) goto LE; w--; printf(\\ goto LB; LE: ┇
则不能与上面程序段等价的循环语句是 。
①for (w=k;w!=0;w??)
printf(\\
②w=k;
while (w??!=0) {
printf(\\
w++;
}
③ w=k;
do { w??;
printf(\\ } while (w!=0);
④for (w=k;w;??w)
printf(\\
提示:要考虑k的取值范围,即应对k为正整数、负整数、零三种情况分别讨论。
31. ③ 32.② 33.④ 34.④ 35.(1)② (2)② (3)①
36. ① 37.① 38.① 39. ① 40. ② 41. ②
42. ④ 43. ③ 44. ③ 45. ④ 46. ④ 47. ②
48. ① 49. ③ 50. ④ 51. ④ 52. ④ 53. ③
54. ③ 55. ③ 56. ③ 57. ② 58. ② 59. ④
32.执行下列程序,输入3.6 2.4,输出结是 。
#include
main( ) { float x,y,z;
scanf(\f\&x,&y); z=x/y; while (1)
{ if (fabs(z)>1.0) {x=y; z=x/y; }
else break; }
printf(\\ y); }
① 1.500000 ② 1.600000 ③ 2.000000
④ 2.400000
33.下面程序的输出是 。
#include “stdio.h” main( )
{ int x=3,y=6,a=0; while (x++!=(y?=1)) { a+=1; if (y printf(\%d,y=%d,a=%d\\n\x,y,a); } ① x=4, y=4, a=1 ② x=5, y=5, a=1③ x=5, y=4, a=3 ④ x=5, y=4, a=1 y=z; 34.在C语句中,下列说法中正确的是 。 ① 不能使用do-while语句构成循环; ② do-while语句构成的循环必须用break语句才能退 出; ③ do-while语句构成的循环,当while语句中的表达式值为非零时结束循环; ④ do-while语句构成的循环,当while语句中的表达式值为零时结 束循环。 35.设c为char型变量,输入以下数据: right? <回车> 则分别选择下面三个程序段的执行结果。 (1) c=getchar( ); while(c!=???) { putchar(c); c=getchar( ); (2) while ((c=getchar( ))!=???) putchar(c); (3) while (putchar(getchar( ))!=???); ① right? ② right ③ sjhiu ④ thgir 36.以下程序的运行结果是 。 #include “stdio.h” main( ) { int i; for (i=1;i<=5;i++) { if (i%2) printf(\\ else continue; }