GESP 一级 · GESP 202509 C++ 一级 第 19 题

判断题 · 答案 B · 考点:循环控制

← 整套速查表 GESP 一级 全部真题

题目

下面 C++ 代码执行后将输出 $55$。( )

n = 0;
for (int i = 0; i > -10; i--)
    n = n + i * -1;
cout << n;
答案:B

考点

循环控制

解题思维

答案B。逐行追踪代码:从main开始,记录每个变量的值变化。注意循环的起止条件和累加过程。

常见错误

逐行模拟时建议画表格记录变量值的变化过程,特别是循环体中的变化。

详细解析(节选)

【考点】循环控制|条件判断|累加运算

1. 初始化n=0;2. 循环条件i>-10,i从0递减到-10;3. 每次n+=i*-1,即n+=-i;4. 累加得n=-0-1-2-...-10=-55;5. 输出n。通法:循环题必须按"初值-条件-体-更新"顺序严格模拟,尤其注意负数符号与边界包含性。

陷阱在于:1. 误以为i>-10不包含-10(实际包含);2. 误算i*-1为i(忽略负号);3. 误认为n从1开始或累加正数。命题人用负数边界和符号翻转制造双重认知冲突,只背"循环输出n"而不模拟细节必错。

若把条件改为i>=-10,n仍为-55;若把n+=i*-1改成n+=i,n=0+(-1)+(-2)+...+(-10)=-55。命题人想考你:循环边界与符号运算的精确模拟,而非"循环输出n"的模糊记忆。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断