C语言基础丨(六)程序结构——循环结构【3】

循环结构能够减小源程序重复书写的工做量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。面试

C语言中提供四种循环,即goto循环、while循环、do?Cwhile循环和for循环。四种循环能够用来处理同一问题,通常状况下它们能够互相代替换,但通常不提倡用goto循环,由于强制改变程序的顺序常常会给程序的运行带来不可预料的错误,在学习中咱们主要学习while、do…while、for三种循环。算法


 

一、while语句

整体注解:学习

while语句建立一个循环,该循环在判断表达式为假(或0)以前重复执行。while语句是一个入口条件(entry-condition)循环,在进行一次循环以前决定是否要执行循环。所以有可能一次也不执行。循环的语句部分能够是一个简单语句或一个复合的语句。设计

其通常形式以下:视频

while(表达式)blog

{源码

循环体语句it

}io

意思是,先计算“表达式”的值,当值为真(非0)时, 执行“语句块”;执行完“语句块”,再次计算表达式的值,若是为真,继续执行“语句块”……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行 while 后面的代码。for循环

咱们一般将“表达式”称为循环条件,把“语句块”称为循环体,整个循环的过程就是不停判断循环条件、并执行循环体代码的过程。

例子:

while(i++<10)

{

    printf(“count %d ”,i);

}


 

二、do while 语句

整体注解:

do while语句建立一个循环,它在判断表达式为假(或0)以前重复执行。do while语句是一个退出条件循环,在执行一次循环以后才决定是否要再次执行循环,所以循环至少要被执行一次。循环的语句部分能够是一个简单的语句或一个复合语句。

形式

do

{

循环体语句

}while(表达式);

do-while循环与while循环的不一样在于:它会先执行“语句块”,而后再判断表达式是否为真,若是为真则继续循环;若是为假,则终止循环。所以,do-while 循环至少要执行一次“语句块”。

例子:

do

{

    printf("count %d",i);

}while(i<20);

注意while(i<20);最后的分号;,这个必需要有。


 

三、for语句

整体注释:

for语句使用由分号隔开的三个控制表达式来控制循环过程。初始化表达式只在开始执行循环语句以前执行一次。若是判断表达式为真(或非0)就执行一次循环。而后计算更新表达式并再次检查判断表达式的值。for语句是一个入口条件循环,在进行一次循环以前决定是否要执行循环,所以有可能循环一次也不执行。循环的语句部分能够是一个简单的语句或一个复合语句。

for 循环的通常形式为:

for(表达式1; 表达式2; 表达式3){

语句块

}

它的运行过程为:

1) 先执行“表达式1”。

2) 再执行“表达式2”,若是它的值为真(非0),则执行循环体,不然结束循环。

3) 执行完循环体后再执行“表达式3”。

4) 重复执行步骤 2) 和 3),直到“表达式2”的值为假,就结束循环。

上面的步骤中,2) 和 3) 是一次循环,会重复执行,for 语句的主要做用就是不断执行步骤 2) 和 3)。

“表达式1”仅在第一次循环时执行,之后都不会再执行,能够认为这是一个初始化语句。“表达式2”通常是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。“表达式3”不少状况下是一个带有自增或自减操做的表达式,以使循环条件逐渐变得“不成立”。

for循环的执行过程可用下图表示:


 

1) for语句通常形式中的各表达式bai能够省略,可是分号间隔符不能少。须要注意省略表达式1以前要给循环变量赋初值。

2) 如省略去表达式2或者3则将形成无限循环,这是应在循环体内设法结束循环

main(){

int a=0,n=4;

for(;;)(

a++,n--;

print("%d",a*2);

if(n==0) break;)

}

上面例子中 for语句的表达式彻底省去,由循环体中的语句实现循环变量的递减和循环条件的判断。当n的值为0时,由break 语句终止循环,转去执行for语句之后的程序。

在此状况下,for语句以等价于while(1)语句,若是在循环体中没有相应的控制手段,将形成死循环。

所谓死循环,就是循环条件永远成立,循环会一直进行下去,永不结束。死循环对程序的危害很大,必定要避免。

最后

特别推荐一个分享C/C++和算法的优质内容,学习交流,技术探讨,面试指导,简历修改...还有超多源码素材等学习资料,零基础的视频等着你!

还没关注的小伙伴,能够长按关注一下:

相关文章
相关标签/搜索