循环结构
while语句和while语句构成的循环结构
由while语句构成的循环也称‘当’循环,形式如下
while(表达式) 循环体
表达式不能为空
while循环的意思就是:当条件满足时,不断地重复循环体内的语句。
循环执行之前判断是否继续循环,所有有可能一次也没有被执行,也有可能为无限循环(死循环),一定要有能使此表达式的值为0的操作,或在某种·条件下强行终止循环的语句(如break等)
#include <stdio.h>
int main()
{
int i,sum;
i = 0;
sum = 0;
while(sum < 10000)
{
sum += i * i;
i++;
}
printf("n=%d sum=%d\n", i - 1, sum);
return 0;
}
do-while语句和用do-while语句构成的循环结构
形式如下:
do
循环体
while(表达式);
循环体至少执行一次
for语句和用for语句构成的循环结构
形式如下:
for(表达式1;表达式2;表达式3) 循环体
即为(初始动作;条件;每轮的动作)for中的每一个表达式都是可以省略的。
for(;条件;) == while(条件)
break语句和continue语句在循环体中的作用
break语句可以使流程跳出switch语句体,也可以用在循环结构中终止本层循环,从而提前结束本层循环。
continue语句的作用是跳过本次循环体中余下尚未执行的语句,立刻进行下一次循环条件判定,可以理解为仅结束本次循环。注意:执行continue语句并没有使整个循环终止。
#include <stdio.h>
int main()
{
int x, max;
printf("Enter -1 to end: \n");
do
{
printf("Enter x:");
scanf("%d", &x);
}while(x < 0 && x != -1);
max = x;
while(x != -1)
{
printf("Enter x:");
scanf("%d", &x);
if(x > 0 && x > max)
max = x; /*max始终存放大于零的最大值*/
}
if(max != -1)
printf("max = %d\n", max);
return 0;
}
语句选择
如有固定次数用for
必须执行一次用do-while
其他情况用while