GESP 一级 · GESP 202403 C++ 一级 第 21 题

判断题 · 答案 B

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

题目

在 C++,break 语句用于提前终止当前层次循环,适用于 while 循环,但不适用于 for 循环。( )

答案:B

解题思维

这题考的是break语句的适用范围,核心在于理解break的通用性——它只管跳出当前循环,跟循环是for还是while毫无关系。

常见错误

很多初学者误以为break只属于while循环,因为while里break很常见,就形成了经验性错觉。其实for循环里break完全可用,比如for(;;){break;}这种写法合法且常用。命题人就是盯着这个认知盲区挖坑,用绝对化的‘但不适用于’来诱导你选错。

详细解析(节选)

【考点】break语句|for循环|条件判断逻辑

这道题考查的是C++中break语句的适用范围,属于基础语法中的循环控制部分。命题人专门卡住‘break适用范围’这个认知盲区——绝大多数初学者背了break的语法形式,却误以为它只属于while循环,这是C++入门阶段最顽固的误解之一。

解题思维很简单:看到题先想,break的本质是‘跳出当前循环体’,与循环类型无关。关键观察是‘当前层次’——它终止的是最内层循环,不管外层是for还是while。推理依据来自C++标准:break只作用于它所在的作用域里的循环结构。这类判断题的通法是——出现‘适用于/不适用于某类结构’的绝对表述,优先怀疑它,因为语言特性极少有这种排他性设计。

陷阱拆解:选项A正确是典型的偷换概念陷阱。命题人利用‘break在while里更常用’的经验性印象,诱导考生把‘常用’等同于‘唯一适用’。最阴险的细节是‘但不适用于for循环’这个绝对化表述——C++里几乎没有绝对化的语言特性声明,一旦看到‘不适用于’这种排他性措辞,基本就是错误。如果你只背‘break用于while’的结论而不理解它的作用机制,就会掉进这个陷阱。

反命题思维:命题人视角下,这道题可以改两个方向:一是把‘break’换成‘continue’,考察跳出与中断的区别;二是嵌套循环场景,考察break到底跳到哪一层。刷到类似题先问自己:命题人想考我什么——是语法记忆、控制流理解,还是作用域认知?

考频趋势:从题库数据看,控制结构类题目近年热度持续攀升,2024年考过138题、2025年160题,2026年45题,说明命题人越来越喜欢考基础语法的细节辨析。循环结构更是重灾区,2024年128题、2025年158题、2026年161题,GESP一级就占了139题,可见这类题在低级别考试中占比很高,属于必考内容。

预测:基于数据趋势,未来几年类似‘break适用范围’‘continue与break区别’‘嵌套循环跳出层级’这类辨析题会继续高频出现,命题人可能会用更隐蔽的表述,比如‘break只能用于while’‘for循环中break无效’等绝对化说法来挖坑。暂无足够依据预测具体年份题型,但方向明确:基础语法细节辨析仍是重中之重。

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