认识分支与循环(下)——循环

本文详细介绍了C语言中的while、for和dowhile循环,以及continue和break语句的作用和区别。通过实例展示了如何使用循环处理数据和避免死循环。同时提及了循环嵌套在处理复杂数据时的应用。
摘要由CSDN通过智能技术生成

        书接上文,今天我给大家讲讲什么是循环。

        当我们要打印多个数据时,总不可能将其一个个打印吧?而这时,我们的循环语句就派上了用场。         

1.while循环语句

C语⾔提供了3种循环语句, while 就是其中⼀种,接下来就介绍⼀下 while 语句。while 语句的语法结构和 if 语句⾮常相似,其语法结构如下:

while(表达式)
    语句

//如果循环体想包含更多的语句,可以加上⼤括号,例如:

while(表达式)
{

     }
//大括号中便是会循环的内容    

那怎样才会实现循环呢,这就不得不提上篇关于分支中的 if 语句了,和 if 语句相同,当括号内表达式返回的值为零,则不会执行循环,当返回值不为零是,则会执行循环。下面是while语句的执行流程图:

接下来我将举出实际例子来让大家直观的了解while循环,

很明显,在多组数据的输出时,while循环是很实用的。

在while循环中,我们打印多组数据时,要先定义一个数,再限定它的范围,最后还要对其进行调整,而这三个步骤却离了一段距离,在日后的代码量繁多的情况下,对这三个步骤的调整也会有些麻烦,有什么办法能更方便呢,这就要用到for循环了。

2.for循环

for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:

for(表达式1; 表达式2; 表达式3)
     语句

//如果循环体想包含更多的语句,可以加上⼤括号,例如:

for(表达式1; 表达式2; 表达式3)
{
        语句
    }
//大括号中便是会循环的内容

表达式1        ⽤于循环变量的初始化
表达式2        ⽤于循环结束条件的判断
表达式3        ⽤于循环变量的调整

下面是for循环的执行流程图:

使用for循环,我们也能简洁打印出1到10的数字,

对比while循环,for循环的使用让代码看起来更加的简介。

3.do while循环

在循环语句中 do while 语句的使⽤最少,它的语法如下:

do{
    语句;
}while(表达式);

与以上两种循环不同,do while循环会先执行一次语句,然后再进行判断,若表达式的值返回的是0则为假,循环断掉;若不为零则为真,循环继续。

下面是do while循环的执行流程图:

在 do while 循环中先执⾏图上的“语句”,执⾏完语句,在去执⾏“判断表达式”,判断表达式的
结果是!=0,则继续循环,执⾏循环语句;判断表达式的结果==0,则循环结束。所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。

接下来我们依旧打印1到10来供大家理解:

由于do while循环会事先执行一次语句,所以我们while()括号中的判断条件与以往不同。

讲了循环语句,就不得不讲从continue语句和break语句了。

4.continue语句和break语句

在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中提供了 break 和 continue 两个关键字,就是应⽤到循环中的。
• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。

(1)continue语句

while循环中的continue语句和for循环语句产生的效果略微有些不同,下面我将举出例子来演示一遍:

在while循环中,我们可以看出代码并没有结束,但却没有继续打印,这是因为当 a 等于5是进入if循环中,continue语句会跳过本次循环continue后边的代码,所以 a 会一直等于5,一直进入到 if 语句之中,printf也会一直被continue跳过,这就形成了死循环;                                                       而for却不一样,当 a 等于5时,虽然continue跳过了本次循环的continue之后的代码,但a++却会依旧执行,这使得 a 会等于6,从而无法进入到 if 语句中,从而跳出死循环。

而do while循环中,continue语句的效果和while循环中的效果是一致的。

(2)break语句

在以上三种循环中,break的作用以及产生的效果都是相同的:

由于break语句的作用是永久的终止循环,所以当 i 或 a 等于5时,就会进入到 if 语句中执行break语句,从而终止循环。

循环的嵌套:

当处理复杂数据时,例如像九九乘法表这种二维空间想要打印出来时,往往一个循环是难以解决的,这个时候我们就要用到循环的嵌套了。

讲到这里也就接近尾声了,这些便是我对分支与循环的理解与认知了。在今后,我会在学习C语言的道路上更加努力,将所学的知识融会贯通,争取把有用的知识展现给大家以供理解,我们下次再见!

ps:如有错误请在评论区留言指正,感谢您的观看。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值