for循环
for循环是什么
for循环是c++中一种比较常见的循环体结构。
for循环的模板
for (int i = 0; i < n; ++i){
//循环内部代码
}
for循环各部分作用
for :顾名思义 for循环的名字就是这么来的。
括号内部代码(重点,容易出错)
逐字逐句来看。
1,
int i = 0;
定义并初始化i。
(此语句仅执行一次)。
2,
i < n;
条件。
用于当不满足条件时退出循环。
3,
i++
或。
++i
其实在这里都一样啦(特定场合可能不同)。
让i递增。
花括号(废话)
花括号没什么好讲的。
注释处(废话)
也没什么好讲的,根据要求填写代码即可。
for循环运行时的详细情况
解释样例代码:
#include <bits/stdc++.h>
using namespace std;
int main (){
int sum = 0;
for (int i = 0; i < 3; ++i){
sum = sum + 1;
}
cout << sum;
return 0;
}
问题来了:sum最后是多少?
要搞清这个问题,就要明白for循环是怎么执行的:
我们只看主体代码。
第一次循环时
i = 0 ,满足 i < 3。
于是执行 :sum = sum + 1;
i++。
变量列表:i = 1 , sum = 1。
第二次循环时
i = 1 , 满足 i < 3。
于是执行 : sum = sum + 1;
i++。
变量列表 :i = 2, sum = 2。
第三次循环时
i = 2,满足 i < 3。
于是执行 : sum = sum + 1;
i++。
变量列表 :i = 3 , sum = 3。
第四次循环时(重点)
i = 3,不满足 i < 3。
虽然不执行sum = sum + 1;
但是 i 仍然 = 3,。
不会因为 i < 3 , 而 i 变成 2!!!。
GESP经常考!!!。
问题的答案
现在我们知道,输出时 sum 是 3。
另一种写法
市面上还有一种写法,见下:
for (int i = 1; i <= n; ++i){
//代码
}
其实原理一样,只是适用于不同场景。
大家可以把n 随意定成 一个数,按我的方法自己试一试。
常见错误
常见例子
1,
for (int i = n; i > 0; ++i){
//代码
}
经典错误之溢出。
++i 应该改成i--。
否则永远无止境。
2,
int i = 0;
for (; i < 10; ++i){
//代码
}
for (; i < 10; ++i){
//代码
}
经典错误之二手i。
第一次循环完时 i = 10 ,正常。
第二次循环开始时,i 还 = 10,就又溢出了。
应该增加一处i = 0。
改完后的代码:
int i = 0;
for (; i < 10; ++i){
//代码
}
i = 0;
for (; i < 10; ++i){
//代码
}
现在正确。
3,
for (int i = 5; i < 4; ++i){
//一大串代码
}
看完你别笑,循环嵌套多了很容易这样。
现在看出来是不是难一些啊:
#include <

最低0.47元/天 解锁文章
391

被折叠的 条评论
为什么被折叠?



