关于C语言分支和循环语句的一些见解(2)

本文详细介绍了C语言中的do-while循环、break和continue语句以及goto语句的使用、执行流程和注意事项。通过实例展示了如何在适当场景下运用这些控制结构,以及goto语句的利弊和特殊情况下的应用。
摘要由CSDN通过智能技术生成

上篇blog中我们讲到了switch语句,今天这篇主要涉及do-while循环、break和continue语句、goto语句。

4.do-while循环

基本语法:do

                        语句;

                  while( 表达式 ) ;//这里注意while后面是有“;”的

执行流程:

在 do-while 循环中先执⾏图上的“语句”,执⾏完语句,再去判断表达式,如果判断表达式的结果是非0,则继续循环,执⾏循环语句,否则循环结束。所以do-while 语句中循环体⾄少被执⾏⼀次。

而一般 do-while 使⽤在循环体⾄少被执⾏⼀次的场景下,下面进行举例:

输⼊⼀个正整数并计算这个整数是⼏位数。

例如: 输⼊:1234 输出:4 ;输⼊:12 输出:2

这道题目并非必须使用 do-while 语句,但是这个代码就⽐较适合使⽤ do-while 循环,因为n即使是0,也是1位数,是需要统计位数的。

5.break和continue语句

break和continue语句存在于if循环、while循环和do-while循环中,是一种强制结束循环和进入下一循环的语句。

break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执⾏。  

continue 的作⽤是跳过本次循环continue 后边的代码而进入下一个循环。

这里需要注意的是,上述所有循环中,break的用法是一样的,而for循环的continue和其他循环稍有不同。

由于break和continue语句使用较为简单,我这里便不再举例说明,但需要说明的是:continue可以帮助我们跳过某⼀次循环 continue 后边的代码,直接跳到循环的判断部分,进⾏下⼀次循环的判断,但如果循环的调整是在 continue 后边的话,可能会造成死循环。详见下例:

上图是正确的代码,而下面展示的是错误使用continue导致的死循环:

下面简单说一下for循环中continue的特别之处,简而言之就是for中的continue在跳过continue后续代码时不会跳过表达式3。(复习一下for的基本结构:)

6.goto语句

C语⾔提供了⼀种⾮常特别的语法,就是goto语句和跳转标号,goto语句可以实现在同⼀个函数内跳转到设置好的标号处。(注意:调用函数并不能算同一个函数内)

例如:

需要注意的是,goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以建议是能不⽤尽量不去使⽤。(而且还经常会出现标签未定义的报错)

但 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出使⽤ goto 就⾮常的⽅便了。

比如:

上图中,本来for循环想提前退出得使⽤就得使⽤3个 break,⼀个 break 只能跳出⼀层for循环,如果n层for循环嵌套需要使用n个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。

那么关于C语言分支和循环语句的一些见解到此就结束了,欢迎读者进行留言讨论。(后续我会继续更新一些数组的blog)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值