for循环原来是这样

for循环可以说是程序中最灵活,最常用,最重要的一个循环用法,大家经常用到,但是你真正理解for循环的运行原理吗?

  举个例子:for(i=0;i<8;i++)  对于这个语句运行结束的时候 i 是多少?
  经常用,却没怎么注意,运行结束的时候 i 是8;

下面说一下for循环语句的运行过程:
  for(表达式1;表达式2;表达式3)
  {循环体}
  这三个表达式,可以都有,也可以都没有,也可以由任意的一项或两项,这就是for的灵活性所在;
解释一下三个表达式的含义:
  表达式1:这个一般是初始化条件,如i=1。在第一个分号之前,可以用一个,也可以好几个,用逗号隔开;
  表达式2:这个是循环条件,满足就继续执行循环体,不满足就跳出循环。这里一般是个逻辑判断语句;
  表达式3:这个一般是改变循环条件的地方,如i++等。
 执行顺序是,先初始化,也就是运算表达式1,初始化完成后,这个表达式就没有用处了;
  接着判断是否满足循环条件,也就是运算表达式2,如果是真,就执行{循环体};
  最后,运算表达式3,改变循环条件。这样第一次循环完成。
 接着第二次循环,也就是运算表达式2,看是否满足循环条件,如果表达式2还满足,接着执行循环体;
 完成后运算表达式3。如此往复循环,直到不满足表达式2后,跳出循环。

  所以对于:for(i=0;i<8;i++)这个运算,当i=7的时候,满足循环,执行完后,i 还会自加1,也就是i++,这样 i 的值是8,再判断i<8,不满足,循环结束,此时 i=8。
  类似的还有while循环,也要注意。比如while(i<8){i++;},循环结束时i=8;while(i<=8){i++;},循环结束时i=9。

原文地址:https://www.cnblogs.com/nannanITeye/p/3001064.html