C语言中的三大结构——循环结构

一、前言

        我们知道,在生活中有三种结构,顺序结构,分支(选择)结构以及循环结构,这三种结构其实也能反映了我们生活中的方方面面。

        而在计算机中,这三种结构也是其处理数据的基础结构,我们也可以利用这三种结构达到编写程序的目的。

        在c语言中,其提供了三种循环结构:while 循环、do……while 循环以及 for 循环,下面我来逐一介绍这三种循环结构。

二、循环结构的函数及其用法

2.1 while循环

语法如下:

while ( 表达式 )
{
        语句1 ;
        语句2 ;
        ......
        语句n ;
}
流程图:

        当while中的表达式能够满足时,执行大括号中的语句。

例:

第一次进入while循环前,先进行表达式进行判断,此时i = 0,小于5,表达式成立,则可进入while循环执行语句,打印一次 hehe ,换行,i 自身加上1,然后再进行表达式的判断,此时 i = 1,仍然小于5,再次进入while的循环体当中,以此反复,当进行第6次表达式的判断时,此时i = 5,不满足i < 5的条件,则此时退出循环。

程序运行结果如下:

2.2 do...while循环

        do...while循环与while循环的结构很相似,但相比于while循环,它的前面多了个do...,也就是说,do...while循环是先执行一次循环体,再进行表达式的判断。

        语法如下:

do
{
        语句1 ;
        语句2 ;
        ......
        语句n ;
} while ( 表达式 )

流程图:

        以相似的例子为例:

        在do...while循环执行的过程中,先是进入循环体,打印一次hello,然后 i 自身加上1,出循环体,再进行表达式的判断,此时i = 1,满足小于5的条件,再次进入循环体,以此反复。

        与while循环不同的是,当进行第5次表达式的判断时,此时i = 5,就已经不满足i < 5的条件,对表达式的判断次数少了一次。

程序运行结果如下:

2.3 for循环

语法如下:

for ( 表达式 1 (初始化变量) ; 表达式2 (条件表达式) ; 表达式3 (操作表达式) )
{
        语句1 ;
        语句2 ;
        ......
        语句n ;
}

流程图:

        以相似的例子为例:

        在for循环中,有三个表达式,在上述例子中,i = 0为表达式1,其作用是初始化一个变量,这个变量往往用于进行条件表达式的判断;i < 5则为表达式2,其为条件表达式,用于判断是否满足进入循环体的条件;i + +为表达式3,其为操作表达式。

        在for循环中,先进行变量的初始化,此时i = 0,然后进行条件表达式的判断,此时 i 满足小于5的条件进入循环体,打印 i = 0,出循环体,进行i + +;再次进行表达式的判断,此时i = 1,满足小于5的条件,进入循环体,打印i = 1;出循环体,进行i + +;依此循环,当进行第6次表达式的判断时,此时i = 5,不满足i < 5的条件,则此时退出循环。

        程序运行结果如下:

总结:在C语言中循环结构有三种,while循环、do...while循环以及for循环,这三种语句没有所谓的优劣之分,在合适的场景中选择恰当的循环结构才是最好的。

三、与循环相关的关键字

3.1 break语句

正如break的中文意思,中断,它的作用就是可以跳出整个循环,且不在执行循环体中break语句后面的语句。举个例子:

while ( 表达式 )
{
        语句1 ;
         break;     
        语句2 ;
        ......
        语句n ;
}

 当执行break语句时,跳出整个循环,也就是说break语句后面语句2~语句n都是不执行的。

下面以代码为例:

        在这个函数中没有break,while循环会一直进行到不满足条件表达式为止,当退出循环时,i 的值为5。

        当 i ++前面加多一个break语句时,第一次进入while循环时就执行了break语句,跳出整个循环,此时 i 的值就为0。

        但在使用break语句时往往会与分支语句一同调用,当满足这个分支语句的条件表达式时,就执行break语句然后跳出整个循环,代码如下:

3.2 continue语句

        continue语句的使用与break语句近似。但不同的是,break跳出的是整个循环,此后也不在进行条件表达式的判断;而continue语句只是跳出此次循环,此后任然会进行条件表达式的判断。

以下面的程序为例:
当没有continue语句时:
        在循环执行的过程中,i = 3时,满足  if 语句的条件,执行i = i + 2,此时i = 5,再执行 i++,此时   i = 6,出循环体,进行while循环条件表达式的判断,不满足条件,结束循环,打印此时 i 的值,结果为6。
当有continue语句时:
        在循环执行的过程中,i = 3时,满足  if 语句的条件,执行i = i + 2,此时i = 5,接着再执行continue语句,跳出本次循环,不再往后执行 i++,而是立马进行while循环的条件表达式的判断,不满足条件,结束循环,打印此时 i 的值,结果为5。
而continue语句使用不当往往会使得程序陷入死循环出现程序错误,举个例:
        在这个程序中i = 0时满足条件进入循环,执行continue语句,结束本次循环,再次进行条件表达式的判断,此时i = 0,以此往复,程序一直都结束不了,最后程序崩溃。

四、总结

        在此篇文章中,小编和大家介绍了循环语句的三种结构,分别是while循环,do...while循环以及for循环,还有与循环语句相关的两个关键字 break 和 continue,要特别注意各循环语句的语法和两个关键字的用法哦,相信在各位读者看过之后对循环结构也有一定的了解,那么现在就去尝试一下写代码吧!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值