循环: while循环、do..while 循环、for循环

来源:互联网 发布:js获取页面高度赋给div 编辑:程序博客网 时间:2024/05/22 17:26
循环结构

        循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构:

一 、 while循环
while结构循环为当型循环,一般用于不知道循环次数的情况。维持循环的是一个条件表达式,条件成立执行循环体,条件不成立退出循环。
while语句格式为:
 while(条件表达式)
{
 循环体;
}
每次执行循环体前都要对条件表达式进行判断。
   这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句。

   说明:while语句是先判断表达式,后执行语句。表达式同if语句后的表达式一样,可以是任何类型的表达式。while循环结构常用于循环次数不固定,根据是否满足某个条件决定循环与否的情况。循环体多于一句时,用一对{}括起。

 例一、

    int i =0;

   while (i <100) {

        i++;

       printf("%d\n", i);

    }

 本程序是输出 0 - 100之间的整数,当 i < 100的时候一直执行while语句直到i = 100条件不成立跳出while语句。

 例二、

    int i =0;

   while (i <100) {

        i++;

       if (i %7 ==0) {

           printf("%d\n", i);

        }

    }

 本程序是打印0 - 100之间为7的倍数的整数,其中i < 100 是循环条件, i++记录循环次数, if (i % 7 == 0)用于筛选打印条件,printf("%d\n", i);用于打印。
二、do...while循环

 dowhile语句结构为直到型循环(until type loop),也用于不知道循环次数的情况。dowhilewhile的区别在于dowhile结构时执行完一遍循环体再判断条件。

       dowhile语句格式为:

         do       

            {

                   循环体;

                  }while(条件表达式);

每执行完一次循环体,dowhile结构都要判断一下条件表达式。

程序进入do while循环后,先执行循环体内语句,然后判断表达式的真假,若为真则进行

下一次循环,否则为假则终止循环。该循环语句的特点是,表达式为假时也执行一次循环体内语句。

总的说来,forwhile循环是在顶上测试循环终止条件,而dowhile循环是在之后,在底部进行测试所以循环体至少要执行一次。

whiledo-while环比较:

  while循环:

       int sum=0,i;

       scanf("%d",&i);

       while(i<=10){

            sum=sum+i;

            i++;

      }

       printf("sum=%d",sum);

     

    do-while循环:

       int sum=0,i;

       scanf("%d",&i);

        do{

             sum=sum+i;

              i++;

         }

        while(i<=10);

        printf("sum=%d",sum);

        return 0;


 for循环 

 for为当型循环语句,它很好地体现了正确表达循环结构应注意的三个问题:

   ⑴控制变量的初始化。

   ⑵循环的条件。

   ⑶循环控制变量的更新。

     for表达式

      表达式1:一般为赋值表达式,给控制变量赋初值;

      表达式2:关系表达式或逻辑表达式,循环控制条件;

      表达式3:一般为赋值表达式,给控制变量增量或减量。

      语句:循环体,当有多条语句时,必须使用复合语句。

        for语句格式为:

          for(表达式1;表达式2;表达式3)语句:/*循环体*/

 for语句执行过程如下:

 循环语句

 ①先对表达式1赋初值;

 ②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。for语句语法流程如下图所示:


 例题:

     循环语句

       int n,nu;

       nu=0;

       for (n=1;n<=200;n++) {

          nu+=n;

          printf ("nu=%d\n",nu);

      }

 编译并执行后,屏幕显示:

 nu=20100

在程序中,for语句小括号内的三个表达式分别为:n=1;n<=200;n++。表达式1,n=1是给n赋初值,表达式2是关系表达式,n小于等于200时,表达式都为真,则执行循环体内的语句nu+=n;(即nu=nu+n;),然后执行表达式3(n++),进入下一轮循环;若n大于200时,表达式2为假,则终止循环,执行printf()语句,在屏幕上打印出:nu=20100



0 0
原创粉丝点击