下面 C++ 代码段执行后的输出是( )。
int cnt = 0;
for (int i = 1; i <= 5; i++)
cnt = cnt + 1;
cout << cnt;这道题就是考循环次数和累加逻辑。拿到题先别急着算,把 for 循环的三个要素(初值、条件、步进)在脑子里过一遍:i 从 1 开始,只要 i<=5 就执行,每次加 1。数数看 i 到底能取几个值,cnt 就加几次,答案自然出来了。
最容易掉进两个坑:一是看到 i<=5 下意识以为只循环 4 次,忘了等号包含在内;二是把 cnt 当成 i 的累加(1+2+3+4+5=15 或误算成 10),其实循环体里 cnt 每次都只加 1,跟 i 的值没关系。还有少数人会以为循环一次就停了,选 A。记住,只要条件满足就执行,条件不满足才退出,别凭直觉猜次数。
考点定位 本题考查《GESP 考试大纲》一级"循环结构"模块,重点考察对 for 循环边界条件(特别是包含等号的情况)的理解,以及循环体内变量累加逻辑的追踪能力。命题人放这道题,就是卡住绝大多数考生对循环边界条件的理解——很多人看到 i <= 5 就下意识认为"只循环 4 次",却忘了等号包含在内。
解题思维(拆解与通法) 看到 for 循环先确认三个要素:初值 i=1、终止条件 i<=5、步进 i++。代入计数:i 取 1,2,3,4,5 正好 5 次,cnt 累加 5 次。这类题通法是"数边界":把不等式两端都代入条件,看实际执行次数,而不是凭直觉。具体推演如下:
1. 初始化:cnt = 0,i = 1。 2. 第一次判断:i=1,满足 1<=5,执行循环体:cnt = 0+1 = 1,i 变为 2。 3. 第二次判断:i=2,满足 2<=5,执行循环体:cnt = 1+1 = 2,i 变为 3。 4. 第三次判断:i=3,满足 3<=5,执行循环体:cnt = 2+1 = 3,i 变为 4。 5. 第四次判断:i=4,满足 4<=5,执行循环体:cnt = 3+1 = 4,i 变为 5。 6. 第五次判断:i=5,满足 5<=5,执行循环体:cnt = 4+1 = 5,i 变为 6。 7. 第六次判断:i=6,不满足 6<=5,循环结束。
最终输出 cnt 的值为 5。
陷阱拆解(命题人的套路) A 项 1 是只执行一次就中断的误判;B 项 4 是把 i<=5 当成 i<5 的边界错误;D 项 10 是把 cnt 当成 i 的累加(1+2+3+4+5)而非每次加 1。最阴险的细节是"<=5"这个包含等号的判断,多数同学会忽略等号,导致少算一次。如果你只背"循环次数=终止值-初值+1"的结论,不真正模拟循环过程,就会掉进这个坑。如果你只背"循环次数=终止值-初值+1"的结论,不真正模拟循环过程,就会掉进这个坑。
反命题思维(教练升华) 命题人若把条件改成 i<5,答案就会变成 4;若把步进改成 i=i+2,循环次数会变成 2(i=1,3)。刷到类似题先自问:"这个不等式真的包含边界吗?"。
考频与趋势 循环结构在题库中已考过 609 题,覆盖 12 个考试级别(2008-2026)。逐年分布显示热度持续攀升:2008 年 7 题、2009 年 3 题、2010 年 3 题、2011 年 6 题、2012 年 5 题、2013 年 7 题、2014 年 8 题、2015 年 4 题、2016 年 12 题、2017 年 11 题、2018 年 13 题、2019 年 4 题、2022 年 1 题、2023 年 77 题、2024 年 128 题、2025 年 158 题、2026 年 161 题。分赛事来看,GESP 二级最多(172 题),GESP 一级紧随其后(139 题),NOIP 普及组初赛也考了 56 题。这说明循环结构是初级到中级阶段的高频考点,且近年(2023-2026)在 GESP 和 NOIP 初赛中的占比显著增加,命题人倾向于在基础题中通过细微的边界条件变化来区分学生。
预测 基于数据趋势,未来 GESP 一级、二级及 NOIP 普及组初赛中,循环结构的题目将持续高频出现,且更可能结合数组、字符串或简单算法逻辑来考察循环的嵌套或步进的非常规变化(如 i+=2 或 i-=1)。暂无足够依据预测具体题型,但建议重点练习带等号的边界判断和非常规步进的循环计数问题。