让程序把 1 加到 n
今天学完,你就能做成这件事: 读入一个正整数 n,打印 1 + 2 + … + n 的结果。
输入 5,窗口里应出现 15。
昨天的程序只算两个数。今天要让同一件事重复 n 次。下面按顺序做。
事情 1:用 for 把 1 加到 n
int n;
cin >> n;
int s = 0;
for (int i = 1; i <= n; i++) {
s = s + i;
}
cout << s << endl;
编译、运行,输入 5,得到 15,这件事做成了。
for 括号里三部分,用分号隔开:
int i = 1:计数器从 1 起i <= n:还没超过 n,就继续i++:每加完一次,计数器加一

Python 里你写 for i in range(1, n + 1):。C++ 要把「从哪起、何时停、每步怎么变」自己写全。
把 for i in range(4): 翻成 C++ 的 for 头(只填括号里三部分):for ( ; ; )
事情 2:同一道求和,改用 while 再跑一遍
int n;
cin >> n;
int s = 0;
int i = 1;
while (i <= n) {
s = s + i;
i++;
}
cout << s << endl;
输入还是 5,结果还是 15。做成了,你就有两种写法可以选。
while 只问一件事:条件还成立吗?成立就再做圈里的事。计数器要你自己在圈里加,忘了加,会永远转下去。

次数事先知道,用 for 更清楚。要一直做到某个条件变了,用 while。
用 while 把 1 加到 n。哪一段会停、结果也对?
中途停、或跳过这一轮
break:整圈结束,跳到循环后面。continue:这一轮剩下的不做,直接进入下一轮。
比如:一直读数,读到 0 就停,把前面读到的加起来。那就是 while 加上「读到 0 就 break」。

今天的求和用不到它们。看见班上同学写,知道这两扇门就行。
循环做到一半,想立刻结束整圈,不再做后面几轮,用哪个?
do-while 能认就行
它先做一轮,再问条件。班上偶尔出现。今天做成求和,用 for 或 while 即可,不必自己写 do-while。
事情 3:打印一个 n 行、每行 n 个星号的正方形
输入 3,窗口里应是:
* * *
* * *
* * *
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
cout << "* ";
}
cout << endl;
}
外圈换行,内圈打这一行的星。两层循环叠在一起,叫嵌套。

后天装一张数字表,走格子就是这一套:外圈行、内圈列。
打印 n 行、每行 m 个星。外圈走到 ,内圈走到 。
今天做成了什么
两份能跑的程序:1 加到 n;以及一个由星号组成的正方形。
for 把次数写在括号里;while 只看条件。嵌套就是外圈换行、内圈做完这一行。
明天做第四件事:把一串数装进程序里,再求它们的和。