GESP 二级 · GESP 202512 C++ 二级 第 23 题

判断题 · 答案 B · 考点:运算符优先级

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

题目

计算交叉加减的结果,形如 $1 - 2 + 3 - 4 + 5 - \cdots$。下面 C++ 代码中的变量都是整型,则将 Flag = -Flag 改为 Flag -= Flag 效果相同。( )

cin >> N;
Flag = -1;
tnt = 0;
for (i = 1; i < N + 1; i++) {
    Flag = -Flag;
    tnt += Flag * i;
}
cout << tnt;
答案:B

考点

运算符优先级

解题思维

答案B。for循环每次迭代后执行更新表达式(如i++)。循环体执行次数由初始值、条件和更新共同决定。

常见错误

循环变量的初值、终值和步长共同决定循环次数。for(i=0;i<n;i++)执行n次。

详细解析(节选)

【考点】整型变量|运算符优先级|复合赋值运算

🎯 考纲定位

本题考查 GESP 二级"程序基础"模块的复合赋值运算。命题人卡住的是大量考生对赋值运算符和复合赋值运算符的运算顺序理解不清——他们默认 Flag -= Flag 等同于 Flag = -Flag,却忽略了复合赋值的本质是"先计算右侧表达式,再执行赋值"。

同考点真题

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