备战大晨7月 GESP C++ 1级(16):for循环初体验,从1加到100

备战大晨7月 GESP C++ 1级(16):for循环初体验,从1加到100
强仔上篇聊完if-else嵌套,大晨做完那几道题后长舒一口气:”爸,分支我会了,后面还有啥?”
我说别急,今天开始上硬菜——循环。
说实话,for循环是GESP 1级的核心考点之一,也是后面所有算法的地基。这关过不去,数组、排序全都白搭。
为什么循环这么重要
之前大晨做的题,输入一个数、判断一下、输出结果,跑一遍就结束了。
但现实问题哪有这么简单?比如”从1加到100”,你要是不用循环,难道写100行 cout << 1+2+3+...?
大晨听完乐了:”那也太累了吧!”
对,循环就是让计算机帮你干重复的活儿。 这才是编程真正开始”省力”的地方。
for循环的基本语法
我先在白板上写了for循环的框架:
1 | for (初始化; 条件判断; 更新) { |
大晨盯着看了半天,问我:”这三个东西之间为啥是分号不是逗号?”
好问题。我说因为这是三个独立的语句,用分号隔开,C++的规定,先记住就行。
然后我拆开讲:
- 初始化:循环开始前做一次,比如设个计数器
int i = 1 - 条件判断:每次循环前检查,true就继续,false就退出
- 更新:每次循环体执行完后跑一次,比如
i++让计数器加1
大晨点了点头:”哦,就是出发前设好起点,跑到终点就停,每跑一步往前挪一下。”
这比喻还挺到位。
实战:从1加到100
直接上经典题,代码如下:
1 |
|
运行结果:5050
大晨看到输出后眼睛一亮:”这不就是高斯小时候算的那个吗!”
没错,高斯用公式秒算,我们用循环一步步累加,思路不同,结果一样,编程的魅力就在这。
老父亲陪跑笔记
今天这关大概花了40分钟。大晨主要犯了两个错。
第一个:把 i <= 100 写成了 i < 100,结果算出来4950,少加了100那个数。
他盯着屏幕看了半天:”咦,怎么少了100?”
我让他自己查,翻来覆去看了三遍才发现条件写错了。这个坑考试肯定还会踩,自己踩一次比别人说十遍都管用。
第二个:一开始把 sum = sum + i 写成了 sum = i,每次都把sum覆盖掉。我问他:”你这叫累加吗?你这叫每次都扔掉重来。”他嘿嘿一乐,赶紧改了。
小结
for循环三要素:初始化、条件、更新,一个都不能少,一个都不能写错。尤其是那个 <= 还是 <,差一个等号结果天差地别。
今天大晨完成《一本通•编程启蒙C++版》第38到40页的三道for循环基础题,正确率2/3,第一关算过了。
但循环的坑远不止这些。下一篇我们聊while循环,以及一个让无数娃头秃的问题——死循环。
下篇见。
免责声明:本博客记录的是大晨同学备考GESP C++的真实过程,代码和知识点讲解仅为家庭学习笔记分享,不构成任何教学建议。每个孩子学习节奏不同,请根据实际情况参考。


