一.编写原因
分析算法中,发现之前对于for循环理解很浅薄,只了解到循环体循环的次数。今天回过头,梳理了一下。
二.大贴图
![](https://img2022.cnblogs.com/blog/2177087/202210/2177087-20221011221815801-1279609341.png)
三.理解
1.实践出真知,先上代码
#include<stdio.h>
int main() {
int count = 0;
int count_ = 0;
for (int i = 0; count++, i < 1; i++) {
for (int j = 0; count_++, j < 2; j++) {
}
}
printf("count = %d\n", count);
printf("count_ = %d", count_);
return 0;
}
2.结果
![](https://img2022.cnblogs.com/blog/2177087/202210/2177087-20221011222256763-1242547434.png)
3.分析
首先,先分析第一层循环,判读语句的次数也就循坏体次数n+1,也就是2。因此count=2。
然后,再分析第二层循坏,依旧是上述的过程。因此count_=3。
第二层循环的补充:第一层循环次数n*第二次判断语句执行的次数(第二层循环次数m+1):n(m+1),也就是1x(2+1)。
四.总结
1.初始化次数为1。
2.判断语句为循环次数+1。
3.增减操作为循环次数,其实可以看作和循环体写一起了。