循环结构的三种基本结构:
特点:在给定条件成立时,反复执行每段程序,直到条件不成立为止(一次又一次的执行相同代码);
(1)while循环;
基本框架:
表达式1;
while(表达式2)
{
语句;
表达式3;
}
<1>while后面的语句称为循环体;
<2>循环体执行的次数由循环条件表达式(表达式2)来确定;
<3>当循环条件表达式为真值时就执行循环体;
<4>while(1)//是一个死循环
int i=0,sum=0;
while(i<=100)
{
sum+=i;
i++;
}
<1>一定要给i赋初值;
<2>如果没有i++那么这个while循环就是个死循环;
总结:
只要循环条件表达式为真,就执行循环体;
(2)do…while循环;
基本框架:
表达式1;
do
{
语句;
}
while(表达式2);
<1>
先执行一次指定的循环体语句,再判别表达式是否为真,
若为
真
返回重新执行循环体语句。
<2>注意while后的()后是有
;
的
int i=0,sum=0;
do
{
sum+=i;
i++;
}
while(i<=100);
两者的区别:
while循环先判断再执行;
do…while循环先执行再判断:
只要第一次进入循环的条件就不满足,那么这两种循环的结果可能不同;
例如:
while:
#include<stdio.h>
#include<windows.h>
int main()
{
int i=0, sum = 0;
scanf_s("%d", &i);
while (i < 5)
{
sum += i;
i++;
}
printf("sum=%d", sum);
system("pause");
return 0;
}
do…while:
#include<stdio.h>
#include<windows.h>
int main()
{
int i=0, sum = 0;
scanf_s("%d", &i);
do
{
sum += i;
i++;
} while (i < 5);
printf("sum=%d", sum);
system("pause");
return 0;
}
for循环:
for(表达式1;表达式2;表达式3)
{
语句;
}
表达式1:设置初始条件,只执行一次。可以为零个,一个,多个变量设置初值;
表达式2:是循环条件表达式,用来判断是否继续循环。在每次执行循环 (for后由一对花括号括起来的)体前先执行此表达式,决定是否继续执行循环;
表达式3:在执行完循环体后才进行此语句;
for(循环变量赋初值;循环条件;循环变量增值)
{
语句;
}
<1>表达式1可以省略,但后面的分号不能省略;
<2>表达式2可以省略(但后面的分号不能省略),不设置和检查循环的条件,此循环可以终止的进行下去,也就认为表达式2始终为真值;
<3>表达式3可以省略,但是应该在保证改程序能正常结束;
<4>
for循环与while循环
无条件
等价;
for循环的嵌套:
for(;;)
{
for(;;)
{
...
}
}
总循环次数:外循环次数*内循环次数;
break:
作用:
可以使流程跳到循环之外(结束整个循环过程),接着执行循环体下面的语句。
注意:
break语句
只能用于
循环语句和switch语句,
不能单独使用
;
continue:
作用:
并不是
终止整个循环
,只是提前结束本次循环,继续执行下次循环;