for循环结构
你知道什么是循环吗?对了,循环就是重复做同一件事。比如,我们每天都要上学,每天都要吃饭,每天都要睡觉,这就是生活中的循环。在编程中,循环也是让计算机重复执行一段代码的方法。
在C++中,循环有很多种类型,最常用的一种叫做“for循环”。for循环的结构是这样的:
for (初始化; 循环条件; 更新) {
// 循环体
}
让我来解释一下:
初始化:这是循环开始前要做的事情,通常是设置一个变量。这部分代码只执行一次。
条件:这是循环继续执行的条件,如果条件为真,循环就会继续。
更新:这是每次循环结束后要做的事情,通常是改变变量的值。
循环体:这是每次循环要执行的代码。
假设你是一名酷爱跑步的学生,每天都要在操场上跑10圈。我们可以用一个for循环来模拟这个过程:
初始化部分就像是你开始跑步前的准备动作。你可以想象成你站在起跑线上,准备开始第一圈,手腕上带了一个计数器用来记录你跑了几圈。在C++中,通常设置一个计数器变量,比如int i =0,i用来表示跑完了几圈,i=0说明你还没开始跑。
条件部分是你决定是否继续跑步的标准。你可以想象成你每跑完一圈,都会检查一下自己是否已经跑完了10圈。如果还没有跑完10圈,你就继续跑下一圈。在编程中,通常在这里写一个条件表达式,比如i <10,表示只要计数器变量i小于10,就要继续跑(继续循环)。
更新部分是你每跑完一圈后要做的事情。在这个例子中,你可以想象成你每跑完一圈,都会按一下手腕上的计数器,告诉自己已经完成了第几圈。在编程中,我们通常在这里更新计数器变量,比如i++,表示每完成一次循环,计数器变量i就增加1。
循环体部分是你在跑每一圈时要做的事情。在这个例子中,你可以想象你边跑边喊:“我已经跑完X圈了!”。在编程中,我们通常在这里写需要重复执行的代码,比如打印出当前跑的是第几圈。
for (int i = 0; i <10; i++) {
cout << “我已经跑完” << i << “圈了!” << endl;
}
当你运行这段代码时,一共会输出10行内容:
我已经跑完0圈了!
我已经跑完1圈了!
我已经跑完2圈了!
我已经跑完3圈了!
我已经跑完4圈了!
我已经跑完5圈了!
我已经跑完6圈了!
我已经跑完7圈了!
我已经跑完8圈了!
我已经跑完9圈了!
理解了这个例子以后,我们试着解决西面几个问题:
问题1 输出1-10所有的整数,每个整数一行。
参考代码:
for (int i = 1; i <= 10; i++)
{
cout << i << endl;
}
问题2 输出下面的序列:1 3 5 7 …..99,每个整数一行。
参考代码:
for (int i = 1; i <= 99; i = i + 2)
{
cout << i << endl;
}
问题3 输出10-1所有的整数,每个整数一行。
for (int i = 10; i >= 1; i–)
{
cout << i << endl;
}
问题4 计算1+2+3+…+100的和。
参考代码:
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum = sum + i;
}
cout << sum << endl;
问题5 输入一个整数n,求该整数各个位上的和。比如输入一个整数123,那么各个位上的和就是1+2+3等于6。这个问题主要的难度在于不知道这个整数是几位。
参考代码:
int n, sum = 0;
for (cin >> n; n; n = n / 10)
{
sum = sum + n % 10;
}
cout << sum << endl;
也可以写成:
int n, sum = 0;
cin >> n;
for (; n; n = n / 10)
{
sum = sum + n % 10;
}
cout << sum << endl;
本人更推荐第二种做法。尽量不要把cin与写到循环中。另外从这个例子中我们可以看到for循环里面的三个部分不是必须的(但两个分号是必须有的)。比如下面的示例:
for (; 😉
{
}
这个循环是符合C++语法的。只是他是一个死循环。
