zoukankan      html  css  js  c++  java
  • C语言For循环详解--saying2

    c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.
    for(表达式 1;表达式 2;表达式 3)语句
    它的执行过程如下:
    (1)先求表达式 1.
    (2)求表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步 做若为

    假(值为0),则结束循环,转到第5步.
    (3)求解表达式3
    (4)转回上面第(2)步骤继续执行;
    (5)结束循环,执行for语句下面的一个语句;
    for(循环变量赋初值;循环条件;循环变量增值)语句

    for(i=1;i<=100;i++)sum=sum+i;

    它的执行相当于

    i=1; 
    while(i<=100){ 
    sum=sum+i; 
    i++; 
    }

    显然,用for语句更简单、方便。
    说明:
    (1)for语句的一般形式中的"表达式1"可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i<=100;i++){....};
    (2)如果表达式2省略 即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真.
    例如:for(i=1;;i++){.....};
    相当于

    i=1; 
    while(1) 
    {sum=sum+1; 
    i++; 
    }

    (3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束.如:

    for(i=1;i<=100;) 
    {sum=sum+1; 
    i++; 
    }

    这个例子的循环增量没有放在表达式三的位置 而是作为循环体的一部分 其效果是一样的.
    (4)可以省略表达式1表达式3,只有表达式2 即只给循环条件.

    for(;i<=100;) 
    { 
    sum=sum+i; 
    i++; 
    } 
    这个相当于 
    whlie(i<=100) 
    { 
    sum=sum+i; 
    i++; 
    }

    (5)三个表达式都可以省略,如:
    for(;;)语句
    相当于
    while(1)语句
    即不设初值 不判断条件(认为表达式2为真值)循环变量不增值,无终止的执行循环体.
    (6)表达式1也可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式.如:

    for www.90168.org(sum=0;i<=100;i++) 
    { 
    sum=sum+i; 
    } 
    for(sum=0,i=0;i<=100;i++) 
    { 
    sum=sum+i; 
    }
  • 相关阅读:
    一本通1331后缀表达式的值
    一本通1198 逆波兰表达式
    一本通1311 求逆序对(归并排序应用)
    快速排序
    一本通1310 车厢重组(冒泡排序,类似逆序对)
    一本通1186 出现次数超过一半的数(类似桶排序)
    一本通1216 红与黑 (代码没有参考任何博客,完全是自己写的,我搜索出山了!!!)
    一本通1222 放苹果
    一本通 1212 LETTERS
    一本通1215 迷宫
  • 原文地址:https://www.cnblogs.com/tianshifu/p/6184472.html
Copyright © 2011-2022 走看看