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

选择题 · 答案 D

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

题目

下面的 C++ 代码执行后其输出是(  )。

int tnt, i;
tnt = 0;
for (i = 0; i < 10; i++)
if (i % 3)
tnt += i;
cout << tnt;
答案:D

解题思维

这不是简单的加法题。if (i % 3) 才是关键。它只让不整除 3 的数进 tnt,整除 3 的(0,3,6,9)直接跳过。循环跑完 0-9,把符合条件的数累加:1+2+4+5+7+8=27。

常见错误

每个选项都是精心设计的陷阱。A=12 是停到 i=5 的半成品;B=18 是误把整除 3 的数加进去(0+3+6+9=18);C=22 纯属瞎蒙。

详细解析(节选)

这不是简单的加法题。if (i % 3) 才是关键。它只让不整除 3 的数进 tnt,整除 3 的(0,3,6,9)直接跳过。循环跑完 0-9,把符合条件的数累加:1+2+4+5+7+8=27。

每个选项都是精心设计的陷阱。A=12 是停到 i=5 的半成品;B=18 是误把整除 3 的数加进去(0+3+6+9=18);C=22 纯属瞎蒙。

1. 考纲定位

GESP 二级 C++ 第 4 章循环结构。命题人卡住的是「条件判断嵌套在循环里」——很多考生会只看 i<10 以为全加,或误判 % 的语义。

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