• for循环执行顺序


     for循环的执行顺序用如下表达式:

    for(expression1;expression2;expression3)
     {   
                expression4;
     }

    执行的顺序应该是:
    1)第一次循环,即初始化循环。
    
          首先执行表达式expression1(一般为初始化语句);再执行expression2(一般为条件判断语句),判断expression1是否符合expression2的条件;如果符合,则执行expression4,否则,停止执行;最后执行expression3。
    

    2)第N(N>=2)次循环
    
          首先执行expression2,判断在expression3是否符合在expression2要求;如果符合,则继续执行在expression4,否则,停止执行。最后执行在expression3。如此往复,直至expression3不满足在expression2条件是为止。
    

    总结:
    
    总的来说,执行的顺序是一致的。先条件判断(expression2),再函数体执行(expression4),最后for执行(expression3)。往复......区别在于,条件判断的对象。第一次判断时,对象为初始化语句(expression1),后续的判断对象为执行后的结果(expression3)。


     例子:

    1 #include <stdio.h>
    2
    3 int print1(int i,int j)
    4 {
    5 printf(" 执行判断条件,i=%d,j=%d ",i,j);
    6 return 1;
    7
    8 }
    9 int print2(int i)
    10 {
    11 printf("执行初始化i=%d ",i);
    12 return 1;
    13 }
    14 int main()
    15 {
    16 int i=0,j=10;
    17 for(i=0,print2(i);((print1(i,j))&&(i<j));i++,j--,printf("执行for()中的第三个语句,i=%d,j= %d ",i,j))
    18 {
    19 if(j==10)
    20 {
    21 printf("%d,%d ",i,j);
    22 j--;
    23 }
    24 j++;
    25 printf("执行for循环体中的最后一句,i=%d,j=%d ",i,j);
    26 }
    27 printf(" %d,%d ",i,j);
    28
    29 return 0;
    30 }

    输出结果:

    执行初始化i=0
    执行判断条件,i=0,j=10
    0,10
    执行for循环体中的最后一句,i=0,j=10

    执行for()中的第三个语句,i=1,j=9
    执行判断条件,i=1,j=9
    执行for循环体中的最后一句,i=1,j=10

    执行for()中的第三个语句,i=2,j=9
    执行判断条件,i=2,j=9
    执行for循环体中的最后一句,i=2,j=10

    执行for()中的第三个语句,i=3,j=9
    执行判断条件,i=3,j=9
    执行for循环体中的最后一句,i=3,j=10

    执行for()中的第三个语句,i=4,j=9
    执行判断条件,i=4,j=9
    执行for循环体中的最后一句,i=4,j=10

    执行for()中的第三个语句,i=5,j=9
    执行判断条件,i=5,j=9
    执行for循环体中的最后一句,i=5,j=10

    执行for()中的第三个语句,i=6,j=9
    执行判断条件,i=6,j=9
    执行for循环体中的最后一句,i=6,j=10

    执行for()中的第三个语句,i=7,j=9
    执行判断条件,i=7,j=9
    执行for循环体中的最后一句,i=7,j=10

    执行for()中的第三个语句,i=8,j=9
    执行判断条件,i=8,j=9
    执行for循环体中的最后一句,i=8,j=10

    执行for()中的第三个语句,i=9,j=9
    执行判断条件,i=9,j=9
    9,9

  • 相关阅读:
    恭喜你,你毕业了
    用VB.Net2008制作安装程序详细步骤(菜鸟级别,高手勿进)
    交通标志结构计算软件开发进程
    【工作笔记002】在TC中建立应用于出行分布的阻抗矩阵(最短路矩阵)
    VB.Net 2008 引用Excel12
    开博,开播。
    【推荐】万物兴歇——衰老与寿命的演化
    一张交叉口渠划的彩色平面图
    萦绕在头脑中的思路_我的编程梦们 【更新至2010.06.03】
    8月份的回顾
  • 原文地址:https://www.cnblogs.com/ltlly/p/4123830.html
Copyright © 2020-2023  润新知