c++|c++ For循环执行顺序流程图解
for 循环允许您编写一个执行特定次数的循环的重复控制结构。
语法
C++ 中 for 循环的语法:
for ( init; condition; increment ){statement(s); }
下面是 for 循环的控制流:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
文章图片
实例分析一
有以下for循环执行代码
文章图片
较为基础,所以画图给大家讲解一下for循环执行步骤
1.执行for循环体里的第一个参数,也就是定义一个int整形变量,其变量名为i,并初始化为0
文章图片
2.执行完第一个参数里的代码后,会执行第二个参数,判断i是否小于99
文章图片
3.当第二个表达式为True时会去执行循环体里的代码,也就是当i不等于99的时候
文章图片
4.执行完循环体里的代码后,就会去执行for循环的第三个参数也就是++i
文章图片
当以上流程执行完成之后,进入非第一次执行循环时就不会执行for循环第一个参数了
文章图片
而是直接去执行第二个参数里的判断表达式
文章图片
然后在去执行循环体里的代码
文章图片
然后在执行for循环的第三个参数
文章图片
直到参数二:i>99的时候循环才会结束
i=98是最后一次循环,(i++/++i在for循环没有区别,不知道为啥,反正结构一样),这是i=99会执行第二步,不满足条件,跳出循环体,如果在循环体内打印i,i的最终结果为98(从0开始一共执行了99次,从1开始一共执行了98次,),如果在循环体外打印i,i的最终结果为99,大概这样
for循环的执行顺序(实例详解)
实例代码
#include #include int main(void){char c; for(c=getchar(); getchar()!='#'; c=getchar())putchar(c); }
运行结果如下:
这是怎么执行的呢?
首先需要明确的一点是,for循环语句的执行顺序
先举一个简单的例子,
for(int i=0; i<10; i++){执行数序是:
//循环体
}
i=0 初始化初值
i<10 进行判断,如果条件为真,则继续执行
执行循环体代码
i++ 变量i自增
回到第2步,一直循环下去,直到第2步为假, 退出循环.
总结一下:
for(条件①;条件②;条件③){
循环体④
}
执行顺序如下:
①②④③ ②④③ ②④③... ...直到结束
我们再来分析一下开头的案例
【c++|c++ For循环执行顺序流程图解】控制台输入:12345#
首先执行第一个getchar(),得到c=1;
然后执行第二个getchar(),得到c=2,同时判断 2 != '#' ;
然后执行循环体输出1;
然后执行第三个getchar(),得到c=3;
(此时一轮循环结束,回到for循环的条件②执行第二轮循环)
执行第二个getchar(),得到c=4,同时判断 4!= '#' ;
然后执行循环体输出3;
然后执行第三个getchar(),得到c=5;
(第二轮循环结束,再次回到for循环的条件②执行第三轮循环)
执行第二个getchar(),得到c=#,判断 ‘#'= '#' ,循环结束;
推荐阅读
- opencv|opencv C++模板匹配的简单实现
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- whlie循环和for循环的应用
- ffmpeg源码分析01(结构体)
- 能力和自信的良性循环
- c++基础概念笔记
- 【WORKFOR】最真的自己
- R|R for data Science(六)(readr 进行数据导入)
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历