- 1-4 continue 只能用于循环体中。对。
- 1-5 for循环的三个表达式都可以省略。
- 1-9
循环体如包括有一个以上的语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为是一条语句。对。 - 1-20 在嵌套循环(多层循环)中, 每一层循环都应该使用自己的循环变量,以免互相干扰。对。
- 1-21
下面这段程序中的循环将是无限循环,程序将始终运行、无法结束(假设运行该程序的计算机系统永远不会发生意外情况而崩溃或断电)。
错,long类型的总会有最大值,最大值再加一就是负值了。
#include "stdio.h"
int main(){
for(long num=1; num>0; num++)
printf("%ld\n", num);
return 0;
}
这道题的情况会比较常见常考。
2-9
在下列给出的表达式中,与while(E)中的(E)不等价的表达式是C
(2分)
A.
(!E0)
B.
(E>0 || E<0)
C.
(E0)
D.
(E!=0)
现在会了。
2-16
以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算每位学生的平均分并输出,但运行后结果不正确,调试中发现有一条语句出现的位置不正确。这条语句是 (A)
int main(void)
{
int n,k;
float score, sum, ave;
sum=0.0;
for(n=1; n<=10; n++)
{
for(k=1; k<=4; k++)
{
scanf("%f",&score);
sum+=score;
}
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
return 0;
}
[解析] 本题程序中使用了两层for循环,外层循环的作用是控制人数,循环一次是求一个人的成绩和,然后除以4得到平均成绩。每个人的成绩总和一开始时都必须清0,否则就会出现后面人的总成绩越来越大。“sum=O.O;”应在外层循环中。选项A正确。