GESP 一级 · GESP 202412 C++ 一级 第 25 题

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

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

题目

在 C++ 的循环体内部,如果 break 和 continue 语句连续在一起,那么作用抵消,可以顺利执行下一次循环。( )

答案:B

考点

循环控制

解题思维

答案B。for和while都是先判断后执行,循环体可能一次都不执行。只有do-while保证至少执行一次。

常见错误

for和while都是先判断后执行,可能0次。do-while至少1次。

详细解析(节选)

【考点】C++ 循环控制语句|break 与 continue 执行顺序|GESP 一级

执行顺序决定结果。break 是立即跳出循环,continue 是跳过本次剩余代码进入下一次。当它们连续时,先遇到 break,循环直接结束,continue 永远不会被执行,因此"抵消"的说法不成立。

命题人利用"语义对立"误导考生。学生常误以为 break 和 continue 会互相抵消,但编译器只认执行顺序:先执行 break 就跳出,continue 根本没机会运行。这种"概念抵消"是典型思维陷阱——把语句当成数学符号消去,而不是按程序执行流来看。

如果反过来写continue; break;,continue 先执行,跳过本次剩余代码后循环继续,break 永远不会被触发。若把两语句合并成 break; continue; 或 continue; break; 放在一个 if 分支内,continue 同样会被 break 覆盖,因为 if 内部只执行一条。

刷到类似题时,先问自己"编译器实际执行顺序是什么",而不是"这两个词能不能抵消"。

同考点真题

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