while语句
while(条件表达式)
执行语句
- 先判断后执行
- 执行语句中要有改变循环条件的语句,否则形成死循环
- 循环体有多条语句时,采用复合语句
复合语句如下
while(条件表达式)
{
执行语句1;
执行语句2;
...
执行语句n;
}
如果没有用花括号,则只执行第一条语句,形成死循环
举个例子,求100!
#include<stdio.h>
main()
{
int i;
double j=1;
while(i<=100)
{
j*=i;
i++;
}
printf("%f",j)
}
do while语句
do
{
循环体语句1;
循环体语句2;
...
循环体语句n;
}
while(条件表达式);
- 先执行,后判断
- 执行语句中要有改变循环的语句
- 最后的while条件表达式后的分号不能少
如果一开始的条件为假那么程序只执行一次
#include"stdio.h"
main()
{
int i,sum;
i=1,sum=0;
do
{
sum+=i;
i++;
}
while(i<=100);
printf("1到100的和为%d",sum);
}
for语句
for(表达式1;表达式2;表达式3)
循环体语句
执行时,先计算表达式1,然后计算表达式2,若条件为真,则执行循环体语句,而后执行表达式3,在计算表达式2,直到表达式2条件为假,此时结束循环
#include"stdio.h"
main()
{
int i,sum;
sum=0;
for(i=1;i<=100;i++)
sum+=i;
printf("1到100的和为%d",sum);
}
- for语句中三个条件之间用 ;
- 三个表达式都可以省略,但分号不能省,且必须有相应语句代替
循环的嵌套
嵌套语句须加花括号
break与continue语句
continue语句
终止本次循环的执行,跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断
- 只能出现在循环体语句的循环体中
- 往往与if语句连用
{
for(n=100;n<=150;n++)
{
if(n%4==0)
continue;
printf("%4d",n);
i++;
if(i%8==0)
printf("\n");
}
上述语句中,当n可以被4整除时,continue语句执行,后面的语句全部跳过,直接进行for语句中的表达式3,在进行判断
break语句
强行结束循环的执行,转向循环下面的语句。其结束的是循环的过程,不在判断循环条件是否成立
- break语句只能出现在switch语句或循环语句中
- 在循环嵌套的情况下,break语句只能跳出它所在的循环,而不能跳出多层循环