下面的 C++ 代码用于求 $1\sim N$ 之间所有奇数之和,其中 $N$ 为正整数,如果 $N$ 为奇数,则求和时包括 $N$。有关描述错误的是( )。
int N;
cout << "请输入正整数:";
cin >> N;
int i = 1, Sum = 0;
while (i <= N){
if (i % 2 == 1)
Sum += i;
i += 1;
}
cout << i << " " << Sum;答案C。while循环先判断条件再执行,可能一次都不执行。do-while至少执行一次。
while先判断后执行,可能0次。do-while先执行后判断,至少1次。
【考点】循环控制|奇偶判断|变量作用域
GESP 一级 信息学 第 6 章"循环结构程序设计"中的"循环控制与变量更新"。命题人卡住考生对while循环中"先更新后判断"的混淆,以及"奇偶判断位置"对求和结果的影响——这是绝大多数学生容易忽略的细节。