zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Hello China最新开发进展
    虚拟软驱影像文件制作程序下载路径:http://download.csdn.net/source/738137
    Swing透明和变换
    利用Java存储过程简化数据库操作
    Hello China V1.5 源码下载地址
    防止程序重复执行的单元
    判断文件大小的函数
    TMainMenu 隐藏与显示菜单
    最简单的Delphi程序(控制台)
    测试代码
  • 原文地址:https://www.cnblogs.com/ltlly/p/4123830.html
Copyright © 2011-2022 走看看