本节主要介绍了几种基本的循环结构,较之前的基础内容来讲,从本节开始慢慢加大难度,需要付出更多的时间去练习和复习回顾!
一、while型循环(“当”型循环)
while(表达式) 语句
eg:
int main(void)
{
int i;
int sum = 0;
i=1 ;
while(i <= 100)
{
Sum += i;
++i;
}
printf("%d\n", sum);
return 0;
}
①i=1;为循环变量的初始化语句
②i<=100 循环的循环条件
③i++;有使循环趋于结束的语句
注:①while( )后不加“;” 误加分号后编译不报错,输出变为死循环。
②“{ }”分别单行在while循环中加上。
whlie循环中循环体可能不被执行。
死循环
while(1)
{
}
在使用硬件时经常会用到死循环,死循环一直重复执行{ }内的语句
二、do···while循环
一般表达式:
do 循环体语句 while(表达式);
eg:
int main(void)
{
int i,;
sum = 0;
i=1;
do
{
sum += i;
++i;
}
while(i <= 100);
printf("%d\n",sum);
return 0;
}
do···while循环中循环至少被执行一次
注:①do···while循环后必须加“;”
三、for循环
for(表达式1;表达式2;表达式3)
eg:
int main(void)
{
int i, sum;
Sum = 0;
for(i = 1;i <= 100;++i)
{
sum += i;
}
printf("%d\n", sum);
return 0;
}
语句执行过程:
①计算表达式1后计算表达2 (表达式2是一个条件/逻辑表达式)
②若表达式2为真,执行循环循环体
③执行完毕后自动执行表达式3
④执行完表达式3后,再看表达式2是否为真,重复执行②③④步骤
⑤当表达2为假时,终止循环,循环结束
注:①for循环后无“;”,若误加分号则运行结果错误
循环流程图
四、以go to语句和if搭建的循环(一般不提倡使用goto语句)
go to:无条件跳转语句
eg:在该程序中
int main(void)
{
int i;
int sum = 0;
i =0;
loop:
{
if(i <= 100)
sum = sum + i;
++i:
goto loop;
}
printf("%d\n", sum);
return 0;
}
i:循环的循环变量
i=0:①为循环变量的初始化语句
if语句中 i <= 100:②循环的循环条件
++i :③有使循环趋于结束的语句
①②③为循环的三大要素
进入死循环后强行退出:ctrl+c
“{ }”中的复合语句称为循环体
五、循环嵌套
以上所有循环种类都可嵌套使用,不分彼此,内外都可以使用
注意:内循环速度高于外循环!
六. 辅助控制语句(break、continue、return语句)
1. break语句(循环断路语句)
打断当前程序执行,提前终止循环。
不想再执行循环时使用break
注:①分辨是 break跳出/程序执行完后正常跳出循环。
② break打断指的是 break当前所在的循环
2. continue语句(循环短路语句)
终止本次循环,不会使整个循环结束。
循环中想要跳过/屏蔽某几次循环使用continue
3.return语句
return 0; 程序正常结束
return -1; 程序异常结束
总结:
1.注意循环嵌套时定义的变量的作用范围!!
防止写在内部每循环一次重新赋值造成不报错但输出错误
2.在进行程序编写前可以通过绘制流程图理清思路