下面的 C++ 代码执行后将输出 $15$。( )
int Sum = 0;
for (int i = 0; i < 5; i++)
Sum += i;
cout << Sum;答案B。追踪程序输出时注意整数除法截断和循环条件的边界值。变量初始值对结果影响很大。
整数除法截断容易忽略!if(n%i==0)中%是取余运算不是除法。
【考点】for 循环控制|累加运算|整数范围
1. 考纲定位 GESP C++二级"循环控制"模块。命题人专抓"循环边界理解"这个薄弱点——90%考生会下意识把 0-4 误算成 1-5,以为累加到 5 才停。
2. 解题思维 ① 看初始化:Sum=0 清零 ② 看循环条件:i<5 且 i 从 0 起 → i 取值 0,1,2,3,4 共 5 次 ③ 看步进:每次 i++,累加的是 i 当前值 ④ 计算:0+1+2+3+4=10 ⑤ 输出 10≠15 → 选 B
3. 陷阱拆解 A 选项是典型的"直觉陷阱"命题套路:
4. 反命题思维 命题人若把条件改成 i<=5,答案翻为 21;若改成 i<10 则 Sum=45。遇到循环题先问自己:循环到底执行几次?每次加的是哪个值?别被数字迷惑。