c++ For循环执行顺序流程图解

 更新时间:2021年10月04日 14:30:46   作者:17岁boy想当攻城狮  
for 循环允许您编写一个执行特定次数的循环的重复控制结构,这里为大家分享一下具体的执行流程,需要的朋友可以参考下

for 循环允许您编写一个执行特定次数的循环的重复控制结构。

语法

C++ 中 for 循环的语法:

for ( init; condition; increment )
{
   statement(s);
}

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,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 <stdio.h>
#include <srdlib.h>
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(条件①;条件②;条件③){
循环体④
}

执行顺序如下:
①②④③ ②④③ ②④③... ...直到结束

我们再来分析一下开头的案例

控制台输入:12345#
首先执行第一个getchar(),得到c=1;
然后执行第二个getchar(),得到c=2,同时判断 2 != '#' ;
然后执行循环体输出1;
然后执行第三个getchar(),得到c=3;
(此时一轮循环结束,回到for循环的条件②执行第二轮循环)
执行第二个getchar(),得到c=4,同时判断 4!= '#' ;
然后执行循环体输出3;
然后执行第三个getchar(),得到c=5;
(第二轮循环结束,再次回到for循环的条件②执行第三轮循环)
执行第二个getchar(),得到c=#,判断 ‘#'= '#' ,循环结束;

相关文章

  • C/C++根据年月日计算星期几(蔡勒公式篇)

    C/C++根据年月日计算星期几(蔡勒公式篇)

    这篇文章主要给大家介绍了关于C/C++根据年月日计算星期几(蔡勒公式篇)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • C++实现简单通讯录系统

    C++实现简单通讯录系统

    这篇文章主要为大家详细介绍了C++实现简单通讯录系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C++实现对象化的矩阵相乘小程序

    C++实现对象化的矩阵相乘小程序

    这篇文章主要为大家详细介绍了C++实现对象化的矩阵相乘小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • C++中Covariant返回值类型详解

    C++中Covariant返回值类型详解

    这篇文章主要介绍了C++中Covariant返回值类型详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以可以参考一下
    2022-09-09
  • C++之WSAAsyncSelect模型实例

    C++之WSAAsyncSelect模型实例

    这篇文章主要介绍了C++的WSAAsyncSelect模型,实例讲述了socket与Windows消息机制的用法,需要的朋友可以参考下
    2014-10-10
  • C++实现学生选课系统的思路与详细过程

    C++实现学生选课系统的思路与详细过程

    C语言是在国内外广泛使用的一种计算机语言,下面这篇文章主要给大家介绍了关于C++实现学生选课系统的思路与详细过程,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • C语言文件操作详情(一)

    C语言文件操作详情(一)

    这篇文章主要介绍了C语言文件操作详情,主要讨论的是数据文件,通过处理的磁盘上的文件展开主题内容介绍,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2022-04-04
  • C语言实现俄罗斯方块的六种模式详程建议收藏

    C语言实现俄罗斯方块的六种模式详程建议收藏

    迟早一定会挂掉的俄罗斯方块,为什么至今仍是世界游戏之王?它是怎么编写的?本文将给大家详细介绍六种模式的实现,对大家的学习或工作具有一定的参考借鉴价值
    2022-02-02
  • Qt中图片旋转缩放操作的实现

    Qt中图片旋转缩放操作的实现

    本文主要介绍了Qt中图片旋转缩放操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • C语言实现图的搜索算法示例

    C语言实现图的搜索算法示例

    这篇文章主要介绍了C语言实现图的搜索算法,结合具体实例形式分析了C语言实现图的定义及搜索相关操作技巧,需要的朋友可以参考下
    2017-06-06

最新评论