PTA错题集(第五章)

  1. 1-4 continue 只能用于循环体中。对。
  2. 1-5 for循环的三个表达式都可以省略。
  3. 1-9
    循环体如包括有一个以上的语句,则必须用一对大括号{}括起来,组成复合语句,复合语句在语法上被认为是一条语句。对。
  4. 1-20 在嵌套循环(多层循环)中, 每一层循环都应该使用自己的循环变量,以免互相干扰。对。
  5. 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.
(E
0)
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正确。

猜你喜欢

转载自blog.csdn.net/CSDN_YJX/article/details/113433460
今日推荐