GESP 二级 · GESP202609 C++ 二级 第 21 题

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

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

题目

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

for (int i = 1; i < 10; i++)
if (not(i % 3))
cout << i;
答案:A

考点

循环控制

解题思维

看到题先想循环范围与条件等价形式。i 从 1 到 9,not(i % 3) 等价于 i % 3 == 0,即 i 为 3 的倍数。遍历中满足条件的 i 依次为 3、6、9,输出拼接成 369。

常见错误

选项 B 错误。命题人设陷阱:一是循环上限 i < 10 易被误判为 i ≤ 10,导致多算一次;二是 not(i % 3) 的语义,考生若混淆逻辑非与取模非零,会误判条件成立范围;三是 cout 连续输出无空格,易忽略拼接效果。

详细解析(节选)

考纲定位

本题考查循环控制与取模运算,位于 GESP 二级 C++ 大纲第 4 章。命题人放此题,卡住的是考生对 not 运算符与取模结果 0 的对应关系——多数人会误以为 not(i % 3) 等价于 i % 3 != 0,导致条件判断范围出错。

解题思维

看到题先想循环范围与条件等价形式。i 从 1 到 9,not(i % 3) 等价于 i % 3 == 0,即 i 为 3 的倍数。遍历中满足条件的 i 依次为 3、6、9,输出拼接成 369。

同考点真题

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