do...while循环结构
do...while循环结构
do
{
//循环体,条件为真时,执行这里的语句
语句x1;
...
语句xn;
}
while(条件);//条件为逻辑值,真或假
语句y1;//条件为假时,执行这里的语句
...
语句yn;
do...while 的构成与执行
- do 是循环的开始,while 是循环的结束
- do...while 可以看做一条语句,需要以分号结束
- do...while 是否继续循环依赖于括号中的循环条件
- do...while 至少执行一次循环体
示例分析一:
#include<stdio.h>
int main()
{
int sum=0;
int input = 0;
do
{
printf("Input:");
scanf("%d",&input);//从键盘输入一个input输入
getchar();
sum = sum + input;//累加
}
while( sum<100 );//输出小于100,继续累加之前的输入;输入整数大于一百时,输出;
printf("sum =%d\n",sum);//当循环结束,就打印累加和
getchar();
return 0;
}
运行结果:
示例分析二:
#include<stdio.h>
int main()
{
int sum=0;
int input = 0;
int i = 0;
while(i > 100)//i>100时,打印,一次循环体都不会发生
printf("while(i > 0)\n");
do
printf("do...while(i > 0)\n");
while(i>100);//一直到i>100,会打印
//展示do...while与while的区别
//两种循环体都没有花括号,这两种循环体可以进行剪裁
do
{
printf("Input:");
scanf("%d",&input);//从键盘输入一个input输入
getchar();
sum = sum + input;//累加
}
while( sum<100 );//输出小于100,继续累加之前的输入;输入整数大于一百时,输出;
printf("sum =%d\n",sum);//当循环结束,就打印累加和
getchar();
return 0;
}
运行结果:
循环结构的套路
-初始化循环变量
-在循环体中改变循环变量
-判断循环条件是否为真
·真:执行循环体
·假:结束循环
//随着循环体的执行,循环条件逐渐向于假,最终结束循环!
int sum = 0;
int i = 0;//初始化循环变量
while(i<=100)//循环条件
{
sum = sum+i;
i = i+1;//改变循环变量,使循环条件慢慢趋向于假,最终结束循环
}
for 循环结构(更简洁的循环结构)
for( 0.初始化循环变量;1.循环条件;3.改变循环变量)
{
2.循环体;
}
示例分析三
#include<stdio.h>
int main()
{
int esum = 0;//累加变量
int osum = 0;//累加变量
int i = 0;//循环变量
for(i=1; i<100; i=i+2)//初始化循环变量,判断循环真假,改变循环变量
{
osum =osum +i;//100以内的奇数加在o上
esum =esum+(i+1);//100以内的偶数加在e上
}
printf("osum =%d\n",osum);//打印奇数累加和
printf("esum = %d\n",esum);//打印偶数累加和
getchar();
return 0;
for循环的各个部分(0,1,2,3)都是可选的
花括号可省略,省路花括县则循坏体仅为一条语句
for(…;…;…)其中的分号不可省略
#include<stdio.h>
int main()
{
int sum = 0;
int i = 0;
for(;i<=100; )//初始化部分没写,因为可以省略;
//或者while(i<=100)
{
sum = sum + i;//在循环体里面将i累加成sum
i = i + 1;
}
printf("sum = %d\n",sum);//for循环代替了while循环
getchar();
return 0;
}
运行结果:
小结
do...while 是至少执行一次循环体的循环结构
do...while 先执行循环体再判断循环条件
for是 while 的进化,在写法上更加精简
for与 while 相同,先判断循环条件再执行循环体