循环语句的种类,嵌套以及比较
- // 用while语句实现循环
- while 语句的一般形式如下:
- while (表达式) 语句
- 其中”语句”就是循环体。
- 只要当循环条件表达式为真(即给定的条件成立,)就执行循环体语句。
- while 循环的特点:先判断条件表达式,后执行循环体语句。
- #include “stdafx.h”
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i=1,sum=0;
- while(i<=100)
- {
- sum=sum+i;
- i++;
- }
- printf(“sum=%d\n”,sum);
- return 0;
- }
- // 用do…while语句实现循环
- do…while 语句的执行过程是:先执行循环体,然后再检查条件是否成立,若成立再执行循环体。
- do…while 语句的特点是:先无条件地执行循环体,然后判断循环条件是否成立。
- do…while 语句的一般形式为
- do
- 语句
- while (表达式);
- 其中的”语句”就是循环体。
- #include “stdafx.h”
- int _tmain(int argc, _TCHAR* argv[])
- {
- int i=1,sum=0;
- do
- {
- sum=sum+i;
- i++;
- }while(i<=100);
- printf(“sum=%d\n”,sum);
- return 0;
- }
- // 用for语句实现循环
- for(i=1;i<=100;i++) //控制循环次数,i由1变到100,共循环100次
- {printf(“%d”,i);} //执行循环体,输出i的当前值
- for的语句一般形式为
- for (表达式1;表达式2;表达式3)语句
- 3 个表达式的主要作用是:
- 表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值。
- 表达式2:是循环条件表达式,用来判定是否继续循环。
- 在每次执行循环体前先执行此表达式,决定是否继续执行循环。
- 表达式3:作为循环的调整。
- for (循环变量赋初值;循环条件;循环变量增值)
- 语句
- 1.while 循环的形式:
- 表达式1;
- while 表达式2
- {
- 语句
- 表达式3
- }
- 二者无条件等价。
- 2.”表达式1”可以省略,即不设置初值,但”表达式1”后的分号不能省略。
- for(;i<=100;i++) sum=sum+i; //for语句中没有”表达式1”
- 为了能正常执行循环,应在 for 语句之前给循环变量赋以初值。即
- i=1; //对循环变量i赋初值
- for(;i<=100;i++) sum=sum+i; //for语句中没有”表达式1”
- 3.”表达式2”也可以省略,即不用”表达式2”来作为循环条件表达式,不设置和检查循环的条件。如
- for(i=1;;i++) sum=sum+i;
- 此时循环无终止地进行下去,也就是认为表达式2始终为真。它相当于
- i=1;
- while(1)
- {
- sum=sum+i;
- i++;
- }
- 4.表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。例如:
- for(i=1;i<=100;) //没有表达式3
- {
- sum=sum+i;
- i++; //这时可以在循环体重使循环变量增加
- }
- 6.for(;;) printf(“%d\n”,i);
- 相当于
- while(1)printf(“%d\n”,i);
- 7.for(sum=0;i<=100;i++) sum=sum+i;
- 8.for(sum=0,i=1;i<=100;i++) sum=sum+i;
- 或
- for(i=0,j=100;i<=j;i++,j—) k=i+j;
- 9.表达式2 一般是关系表达式(如i<=100)或逻辑表达式(如a<b&&x<y),但也可以是数值表达式或字符表达式。
- 只要其值为非0,就执行循环体。
- a.for(i=0;(c=getchar())!=’\n’;i+=c);
- b.for(;(c=getchar())!=’\n’;)
- printf(“%c”,c);
- 10.C99允许在for语句的”表达式1”中定义变量并赋初值,如:
- for(int i=1;i<=100;i++) //定义循环变量i,同时赋初值1
- sum=sum+i;
- // 循环的嵌套
- 一个循环体内包含另一个完整的循环结构,称为循环的嵌套。
- 内嵌的循环中还可以嵌套循环,这就是多层循环。
- 3种循环(while 循环、do…while 循环和 for 循环)可以相互嵌套。
- // 几种循环的比较
- 3 种循环都可以同时处理同一问题,一般情况下它们可以互相代替。
- 在 while 循环和do…while 循环中,只在 while 后面的括号内指定循环条件。应在循环体
- 中包含循环趋于结束的语句。
- for 循环可以在表达式 3 种包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放在
- 表达式 3 中
- 用 while 和do…while循环时,循环变量初始化的操作应在 while 和 do…while 语句
- 之前完成。
- for 语句可以在表达式1中实现循环变量的初始化。
- while 循环、 do…while 循环和 for 循环,都可以用 break 语句跳出循环,用 continue 语句
- 结束本次循环。
转载于//blog.51cto.com/290692/1128047
还没有评论,来说两句吧...