备战大晨9月GESP C++ 1级(13):for循环初体验,一句代码顶十句

备战大晨9月GESP C++ 1级(13):for循环初体验,一句代码顶十句
强仔上一篇讲完 switch 多路分支,我在结尾留了个尾巴:**分支翻篇,下一座大山是循环。**这周如期兑现——《一本通·编程启蒙 C++ 版》正好翻到循环结构第一课,for 循环。
先交代个背景:本来我们瞄着 7 月那场 GESP,结果我们这儿考点名额手慢无,没抢到,索性改报 9 月场。坏事变好事,暑假时间充裕,进度反而从容了,每天雷打不动 20 分钟。
从”罚抄十遍”讲起
给小孩讲循环,我憋了个土办法。我说:你们老师罚抄生词十遍,你是不是抄到第五遍就想撕本子?大晨疯狂点头。
我说,电脑最不怕的就是重复。循环就是教电脑”这句话给我重复十遍”,它连眉头都不皱一下。
大晨回了一句让我记到现在的话:”爸爸,电脑最厉害的不是算得快,是不嫌烦。”
行,悟了。
for 循环长什么样
for 循环就一行,但里面有仨零件:
for (int i = 1; i <= 10; i++)
我给大晨的白话翻译:
int i = 1:起跑线,从 1 开始数;i <= 10:每跑一步都要问一句”到 10 了吗”,没到就继续;i++:往前挪一格。
大晨卡壳在 i++,觉得是个神秘符号。我说 i++ 不是咒语,就是”自己加一”,跟 i = i + 1 是亲兄弟,抄两遍就顺眼了。
第一段代码:从 1 数到 10
1 |
|
一敲回车,屏幕上跳出 1 到 10。大晨盯着看了半天:”就……完了?”我说对,你以前要写十行 cout,现在一句顶十句。
升级:1 加到 100
光数数不过瘾,我掏出经典题:算 1 加到 100。大晨在数学班听过高斯的故事,张口就来:”5050!首尾相加乘 50!”
我说行,你走高斯的捷径,让电脑走老实人的路:
1 |
|
他还替电脑抱不平:”高斯三秒就算出来了,电脑要傻加 100 次,好亏哦。”我说你等着,**等你能指挥电脑干活了,亏的永远是人不是机器。**这话他现在不懂,以后会懂的。
老父亲陪跑笔记
这周踩的坑,给后面的家长提个醒:
- **差一错误是新手第一坑。**大晨把
i <= 100敲成了i < 100,跑出来 4950,自己愣了半天。我没直接给答案,只说了一句”高斯说的可是 5050 哦”,他自己一行行查出来的——自己抓出来的 bug,比十道例题都值钱。 - 累加器 sum 一定要先初始化为 0,不然结果是个玄学数字。
- 循环体只有一句时大括号可以省,但我要求大晨永远写上大括号,免得以后往里加语句时踩坑。
小结与预告
这周从”罚抄十遍”讲到 for 循环,大晨已经能独立写出数数和累加的程序。学到循环,才算真正开始”使唤”电脑——以前是让它干一次,现在是让它干一百次。
不过收工前大晨问了个问题,一下把我问住了:”爸爸,能让它一直数下去、永远不停吗?”
能,但那是把双刃剑。下一篇就聊聊 while 循环,和那个让无数新手闻风丧胆的东西——死循环。
免责声明:本文仅为记录自家孩子的学习过程与老父亲的个人心得,不构成任何报考或学习建议。每个孩子节奏不同,仅供参考。


