while(i<10)
if(i<1) continue; if(i==5) break; i++;
{ }
}
A?死循环,不能确定次数 B?6 C?4 D?1
65. 以下程序段的输出结果是B int x=3;
do {
printf(\ }while(!(--x)); A?死循环 B?1 -2 C?3 0 D?l
注:第一次执行完 printf(\后x=1,然后--x为0,取非后为1,条件为true,继续执行循环,第二次执行完 printf(\后x=-2,--x得到-3,取非后是0,循环结束
66. 若x是int类型变量,以下程序段的输出结果是D
for(x=3;x<6;x++)
printf((x%2)?(\
A? ##3 **4 ##5 B? ##3 **4##5 B? **3 ##4 **5 D? **3##4 **5
16
67. 对for(表达式1;;表达式3)可理解为().A A?for(表达式1;1;表达式3) B?for(表达式1;0;表达式3)
C?for(表达式1;表达式1;表达式3) D?for(表达式1;表达式3;表达式3)
68. 以下程序段的输出结果是______. C main() {
int n=10; while (n>7) { }
n--;
printf(\
}
A?1098 B?10987 C?987 D?9876
69. 以下程序的功能是按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() {
int n,k;
float score,sum,ave; sum=0.0;
for (n=1;n<=10;n++) { }
for (k=1;k<=4;k++) { }
scanf(\sum+=score;
ave=sum/4.0;
printf(\
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确.这条语句是B
A?ave=sum/4.0 B?sum=0.0;
17
C?sum+=score;
D?printf(\
70. while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是().D A?fabs(t) B?fabs(t) C?t>=le-5&&t<=-le-5&&s>-10&&s<10 D?s/10==0 71. 以下不是死循环的语句是____. C A?for(i=10;;i++)sum+=i; B?while(1){x++}; C?for(;(c=getchar())!='\\n';) printf(\D?for(;;x+=i); 72. 以下叙述正确的是()?B A?do-while语句构成的循环不能用其它语句构成的循环来代替 B?用do-while语句构成的循环,在while后的表达式为零时结束循环 C?用do-while语句构成的循环,在while后的表达式为非零时结束循环 D?do-while语句构成的循环.只能用break语句退出 73. 在下述程序中,判断i>j共执行了多少次C #include 74. C语言中,while和do-while循环的主要区别是B A?while的循环控制条件比do-while的循环控制条件严格 18 int i=0,j=10,k=2,s=0; for(;;) { } i+=k; if(i>j) { } printf(\break; s+=i; B?do-while的循环体至少无条件执行一次 C?do-while循环体不能是复合语句 D?do-while允许从外部转到循环体内 75. t为int类型,进入下面的循环之前,t的值为0 while(t=1) {??} 则以下叙述中正确的是____. B A?以上说法都不对 B,循环控制表达式的值为l C?循环控制表达式的值为0 D?循环控制表达式不合法 76. 下面程序的运行结果是A #include int y=10; do{y--;}while(--y); printf(\ A?0 B?1 C?8 D?-l 77. 以下程序的输出结果是C main() { int x,i; } for(i=1;i<=100;i++) { x=i; } printf(\ if(x%2==0) if(x%3==0) if(x%7==0) printf(\ A?28 70 B?39 81 C?42 84 D?26 68 注:本题意图是遍历1~100内能同时被2?3?7整除的数 19 78. 以下程序的执行结果是____ A main() { int num=0; } A?1,2,3, B?1,2,3,4, C?1,2, D?0,1,2, 79. 以下程序的输出结果是B main() { int i,sum; for(i=1;i<6;i++) while(num<=2) { } num++; printf(\ sum+=i; printf(\} A?15 B?不确定 C?l6 D.0 判断题(6道)√× 1. C语言的switch语句case后可为常量或表达式或有确定值的变量及表达式.× 2. int i=20;switch(i/10){case 2:printf(\case 1:printf(\的输出结果为A. × 注:输出结果是AB 3. 若有int i=10,j=0;则执行完语句 if (j=0)i++;else i--;i的值为11. × 注:i的值为9,因为j=0是赋值,表达式的值是0 4. 若有说明int c;则while(c=getchar());是正确的C语句, √ 5. while和do?while循环不论什么条件下它们的结果都是相同的?× 20