下面的 C++ 代码用于输入学生成绩,并根据人数计算出平均成绩,有关说法错误的是( )。
float Sum = 0; // 保存总成绩
int cnt = 0; // 保存学生人数
while (1) {
int score;
cin >> score;
if (score < 0)
break;
cnt += 1;
Sum += score;
}
cout << "总学生数: " << cnt << "平均分: " << Sum / cnt;答案A。while循环先判断条件再执行,可能一次都不执行。do-while至少执行一次。
while先判断后执行,可能0次。do-while先执行后判断,至少1次。
【考点】循环控制|条件判断|数据类型
本题考查 GESP 二级大纲「C++基础语法」模块中的循环控制、条件分支和变量类型。命题人专门在这里设卡,因为二级考生最容易栽在「while(1) 是死循环」这个认知偏差上——他们误以为无限循环本身就是错误,却忽略了 C++ 中通过显式 break 控制退出的标准写法。