GESP 一级 · GESP 202309 C++ 一级 第 23 题

判断题 · 答案 B · 考点:循环结构

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

题目

在下面的 C++ 代码中,由于循环中的 continue 是无条件被执行,因此将导致死循环。

for (int i = 1; i < 10; i++) continue;
答案:B

考点

循环结构

解题思维

这题关键在于死记 continue 和循环体执行顺序。别被‘跳过循环’误导,continue 只跳过本次循环体,i++ 照样执行。

常见错误

最容易掉进 A 的坑,误以为 continue 能跳过 i++ 导致 i 永远为 1 形成死循环。其实 for 循环是先判断条件再执行循环体最后执行 i++,continue 只能跳到 i++ 这一步,i++ 本身仍然会执行。

详细解析(节选)

考点定位

本题考查 GESP 一级大纲中“循环语句”模块的核心机制。命题人专门设计这道题,就是要卡住那些“背语法不背逻辑”的考生——死记“continue 跳过本次循环”这句话,却误以为它连 i++ 的增量操作也跳过了。

解题思维

for 循环的执行顺序是固定的:先判断条件,再执行循环体,最后执行 i++。continue 只能跳到 i++ 这一步,但 i++ 本身仍然会执行。本例中,i 从 1 开始,每次都被 continue 跳过循环体,但 i++ 照样把 i 加 1,条件 i<10 最终会被满足,循环正常结束。

陷阱拆解

选项 A 利用的是语言描述与执行逻辑之间的语义偏差。学生若只凭“continue 跳过循环”这半句记忆,会误以为整个循环被跳过,i 永远保持为 1,自然推出死循环。命题人把 continue 放在循环体唯一语句的位置,就是专门诱导这种“跳过=完全跳过”的错误直觉。

反命题思维

换一种考法:把 continue 改为 break,问循环体执行了几次?答案会变成 0 次,因为 break 直接跳出整个 for 结构,连 i++ 都执行不到。如果再加一个条件判断在循环体内,比如“只有 i=5 时才 continue”,那 i 从 1 到 5 正常递增,第 5 次被 continue 跳过 i++,i 卡在 5 形成死循环。刷到类似题先问自己:continue 到底能跳过哪些步骤,哪些步骤它跳不过?

考频趋势

从数据看,循环结构是高频考点,题库共 609 题,GESP 一级占比 139 题,2023 年单年 77 题、2024 年 128 题、2025 年 158 题,呈逐年上升趋势。控制结构也考得狠,429 题里 GESP 一级占 133 题,2025 年更是 160 题。这说明命题人越来越喜欢用基础语法挖坑,尤其是 continue 和 break 的细微差别。

同考点真题

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