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

选择题 · 答案 B · 考点:循环控制、同余与模运算

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

题目

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

答案:B

考点

循环控制同余与模运算

解题思维

这题别盯着i的数值跑,先看输出框里全是1,说明打印的是i%3。既然每轮都得余1,那更新i时必须保持余数不变,只有加3能做到,直接代入验证最快。

常见错误

大部分同学会掉进‘默认输出就是循环变量’的惯性思维里,看到i++、i*=2这些常见写法就顺手选,完全忽略了题目里其实打印的是i%3。还有同学算余数算乱了,比如以为i++能凑出111111,其实i++会让余数在1、2、0之间跳变,打印出来是120120120120。另外i*=2会让i指数爆炸,可能还没凑够6个1循环就停了,或者越界出错。

详细解析(节选)

考点定位

本题属于GESP一级C++的基础语法范畴,核心考查循环控制中的变量更新逻辑以及取模运算的理解。命题人特意将输出内容设为i%3(打印的是i除以3的余数),而非常见的直接打印i,这是为了打破考生‘循环变量自增就是+1’的刻板印象,专门挖了‘默认输出就是循环变量’这个坑。

解题心法:从输出反推

拿到这种题,第一反应不能是‘i++是不是更常用’,而是要问自己:‘屏幕上印出来的到底是什么?’ 题目要求输出是“111111”,一共6个1。这意味着循环体里执行的打印语句,每轮得到的值必须恒为1。 结合代码逻辑(虽然原题截图未完全展示,但根据选项和答案反推),打印的应该是i % 3。 所以,我们的目标很明确:找到一个更新规则,让i在初始值的基础上,每次更新后仍然满足 i % 3 == 1。

逐项验证(代入法)

假设初始i=1(这是GESP一级常见的默认起始值),我们逐个把选项填进去跑一遍:

通过这种‘代入法’,不需要复杂的数学推导,直接看余数变化就能秒杀。

命题人怎么挖坑

这道题的陷阱设计得很典型: 1. 隐藏输出内容:很多初学者看到循环就默认cout << i,忽略了题目里其实是cout << i % 3。如果不看清,就会觉得i++是对的,因为它能让i变大,凑够循环次数。 2. 利用常见思维定势:i++是C++里最基础的自增,学生看到选项里有它,第一反应就是‘选它肯定没错’,结果掉进余数跳变的坑里。 3. 干扰项相似度高:i += 3和i++看起来都是加法,容易混淆;i *= 2和i = i * 3 - 1都是乘法类操作,容易让人误以为只要让i变大就行。

避坑指南

考频与趋势

从题库数据看,基础语法是GESP一级的高频考点,共考过1295题,覆盖11个级别,其中2023年单年就考了287题,2024年413题,2025年401题,2026年109题,呈现逐年上升趋势,说明这类题目是命题人的‘基本盘’,每年必考。 运算符与表达式也考了261题,其中GESP一级就占了72题,占比极高,说明对表达式求值、变量更新的考查非常细致。 循环控制虽然总题数只有5题,但GESP一级有1题,且集中在2019-2024年,说明这类‘反常识’的循环更新题是GESP一级特有的高频陷阱,未来仍会反复出现。 同余与模运算共28题,GESP一级没有直接考查,但GESP五级、六级、七级都有涉及,说明随着级别提升,对模运算的考查会更深,但一级主要侧重‘理解模运算的存在’而非‘复杂同余求解’。

预测

基于数据趋势,基础语法和运算符与表达式在未来几年仍将是GESP一级、二级的绝对核心,尤其是‘反直觉’的变量更新(如i+=3、i*=2)这类题目,命题人会继续用‘隐藏输出内容’或‘干扰项相似度高’的方式挖坑,因为这类题区分度好,能有效筛选出真正理解代码执行流程的学生。 循环控制虽然总题数少,但GESP一级有1题,说明未来一级考试中仍会保留这类‘陷阱循环’题,只是形式可能更隐蔽(比如结合数组下标、条件判断等)。 同余与模运算在GESP一级暂无直接考查,但考虑到GESP五级、六级已有涉及,未来一级可能会通过更简单的‘模运算存在性’判断题形式出现,难度不会太大,但会考验学生是否具备‘看到模运算就想到余数’的敏感度。 综上,备考GESP一级时,重点复习基础语法中的变量更新和表达式求值,特别要训练‘代入验证’和‘反直觉思考’的能力,这类题未来仍将是高频考点。

同考点真题

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