GESP 二级 · GESP 202603 C++ 二级 第 10 题

选择题 · 答案 A · 考点:循环控制

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

题目

下面 4 个选项中,与下面 C++ 代码段具有相同效果的是( )。

i = 0;
while (i < 5) {
    cout << i;
    i += 1;
}

A.

for (i = 0; i < 5; i++)
    cout << i;

B.

for (i = 1; i < 5; i++)
    cout << i;

C.

for (i = 0; i < 6; i++)
    cout << i;

D.

for (i = 1; i < 6; i++)
    cout << i;
答案:A

考点

循环控制

解题思维

答案A。考点: 循环结构——for/while的执行与嵌套。

常见错误

关键提醒:C++中的^是异或运算符,不是乘方!2^5=7而非32。这是最高频的错误。

详细解析(节选)

【考点】循环控制|for与while等价性|输出顺序

1. 考纲定位:GESP二级循环模块,命题人专盯"把while转for"的转换盲区——多数考生只会改循环体,却忽略初始化值与终止条件决定打印集合。

2. 解题思维:while循环先打印再自增,i从0到4共5次输出0 1 2 3 4;for循环等价条件是初值、条件、步进三者完全对应。A选项初值0、条件<5、步进++,完全匹配;B初值1漏掉0;C终止条件<6多打印5;D既缺0又多5。

3. 陷阱拆解:B的陷阱是"循环肯定包含0"的绝对化错觉;C利用"少看一步自增"的疏忽,把<6当成范围扩大;D则双重陷阱——同时错判初值与终值。题干"相同效果"要求输出序列完全一致,任何数值偏差都是错。

4. 反命题思维:若把while改成先自增再打印,答案会全变;若把条件改为≤4,则A也错。刷到此类题先问"代码实际输出了哪些数?"别被选项数字迷惑。

同考点真题

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