GESP 一级 · GESP 202603 C++ 一级 第 9 题

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

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

题目

执行下面 C++ 代码段求序列 $-1+2+3-4+5+6-7+8+9-10+11+12\ldots$ 之值。例如输入 4,则计算序列前 4 项的值,规律如序列所示,输出为 0。下面说法中正确的是( )。

int N, tnt, i;
cout << "请输入正整数:";
cin >> N;

tnt = 0;
for (i = 1; i < N + 1; i++) // L1
    if (i % 3 == 1)         // L2
        tnt += -i;
    else
        tnt += i;
cout << tnt;
答案:D

考点

循环控制

解题思维

答案D。逐行追踪代码:从main开始,记录每个变量的值变化。注意循环的起止条件和累加过程。

常见错误

逐行模拟时建议画表格记录变量值的变化过程,特别是循环体中的变化。

详细解析(节选)

【考点】循环控制|条件判断|取模运算

1. 🎯 考纲定位

GESP 一级"循环控制"模块第 3 级要求。命题人盯上的是:学生把 i < N + 1 看成多余写法,或死记"每三项一负"却不会用取模去实现——这两处是绝大多数人栽跟头的地方。

同考点真题

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