GESP 四级 · GESP 四级样题(C++ 组) 第 14 题

选择题 · 答案 B · 考点:循环控制、位运算

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

题目

在下列代码的横线处填写( ),可以使得输出是“21”。 ![](https://cdn.luogu.com.cn/upload/image_hosting/7sycdtp8.png)

答案:B

考点

循环控制位运算 讲解 →位运算 真题汇总 →

解题思维

答案B。代码补全要考虑参数传递方式。如果需要修改实参,需用指针(*)传递。排序算法要理解每步比较的含义。

常见错误

排序代码补全要理解每步比较的含义。选择排序找最小值时比较的是array[min]>array[j]。

详细解析(节选)

【考点】循环控制|算术运算|位运算基础

🎯 考纲定位 GESP四级C++组循环与逻辑模块。命题人专盯学生"看到循环就套公式"的偷懒思维——四级大纲明确要求掌握for循环与while循环的嵌套用法,但考试最爱考"循环体中变量如何变化"这一细节,恰恰是多数考生会直接跳到结论而忽略推导过程的地方。

🧠 解题思维 看到for循环先算迭代次数:题目虽未展示完整代码,但从选项i+=2看应含循环。若循环执行10次,初始i=1,每次加2,则最终得1+2×10=21。这就是答案B的逻辑链:确定初值→确认循环次数→累加计算。迁移通法:任何循环题先问"循环体执行几次""变量初始值多少""每次变化多少",三步走完答案自现。

🪤 陷阱拆解 A项i++只会加1,1+10=11,差太远;C项i+=3,1+30=31,超了;D项i|=2是位或运算,当i为0时直接变2,后续再循环就乱套了——这是用"看起来也有数字"迷惑人。题目最阴险在没给初值,但结合答案21反推只能初值为1,若初值是0则无选项能凑出21。只背"i++加1"这种结论而不理解循环累加的本质,就会在D项位运算陷阱里栽跟头。

🔄 反命题思维 若把循环次数改成9次,答案就变19,选C项;改成11次则得23,无选项。命题人想考的是你看到循环先数次数、再算累加,而不是死记i+=2得21。刷到类似循环填空,先问自己:变量初值多少?循环几次?每次变多少?

同考点真题

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