GESP 一级 · GESP202609 C++ 一级 第 18 题

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

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

题目

下面 C++ 代码执行后将输出 20 。

int i;
for (i = 0; i < 20; i += 3)
if (i % 3 != 0)
continue;
cout << i;
答案:B

考点

循环控制

解题思维

看到 for 循环先想循环变量变化规律,本题 i 每次加 3,关键看 continue 何时生效。i%3!=0 时跳过 cout,只有 i 是 3 的倍数才输出。

常见错误

选项 A 把输出误当成"最终 i 值"或"只输出 20",忽略了 continue 的跳过作用;很多人以为 continue 会跳过 i+=3,其实它只跳过本次循环体剩余部分,i 仍会累加。

详细解析(节选)

考纲定位

本题考查《GESP 考试大纲》一级"循环结构"与"条件语句"模块。命题人放这道题,就是要卡住考生对 continue 作用域和循环变量更新顺序的混淆——绝大多数人只记得"跳过",却忘了 continue 不阻止 i+=3 执行。

解题思维

先模拟循环:i 从 0 开始,每次加 3,直到 i>=20。i%3!=0 时 continue,否则 cout<<i。

同考点真题

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