0
点赞
收藏
分享

微信扫一扫

循环结构还不清楚?那就进来看看吧~

北冥有一鲲 2022-04-16 阅读 51
c语言

上篇文章我们讲了分支语句

这篇文章我来分享一下循环语句的基本内容。

while循环

首先介绍while,它的基本结构是

常见到初学者会犯一种错误,就是写成 while( );

这样就导致了程序在进入循环前就结束了,根本就没有执行循环。

while的使用场景很多,我们通过例子来了解:

break在while中的场景

 在i=1,2,3,4时,都很正常执行了循环,但是i==5时,因为break跳出了循环,就终止了循环。

 这边可以说明break只能跳出自己所在的那个循环,而不能跳出整个嵌套的循环。

这是break在while中的场景。

continue在while中的场景

 注意这里结果不是1234,而是1234死循环。

在i==5时,continue跳过了下面的所有内容,既没有执行printf也没有执行i++,所以返回到判断部分时 i 没有++,还是i==5,再次进入......于是陷入了死循环。

这是continue在while下的场景。

下面再来看一下另一种循环 for

for 循环

因为while循环中,初始化部分、判断部分和调整部分三个部分可能位置相距较远,需要修改时难以查找,这时适合使用for循环(循环次数确定)。

使用for循环时的四个注意点

注意点1:

不要在for循环中修改循环变量,防止for循环失控

 注意点2:

建议for语句的循环控制变量的取值采用“前闭后开区间” 写法。

(推荐)

(不推荐)

 上面的代码更清晰,便于理解,但是也要看具体情况,哪样更容易理解就用哪样。

注意点3:

for循环中的各个部分可以省略,如for( ;  ; )是可以执行的 (判断部分省略,循环恒为真,死循环),但是建议不要轻易省略,否则会出现问题,例如:

 本应该打印 9 个haha的场景,这里却是打印了 3个,就是省略带来的影响。在里面的一层for循环结束时,j 的值是3,而回到外层for循环时,j 的值依然没有改变,还是3,因为没有初始化为0哪一步了,就导致无法再进入循环,所以只打印了3次。

注意点4:

break在 for 中的场景

与break在while中情形一样,都用于终止循环,但是break只能跳出自己所在的那一层循环,对于嵌套需要多个break。

continue在 for 中的场景

与while略有不同,我们来看具体例子:

这里因为判断部分(i++)在上面所以,continue跳过printf直接到判断部分,不会像在while循环中将判断部分也跳过从而陷入死循环。

do  while 循环

可以看到,do while 一定会先执行一次再判断,所以它使用场景有限制。

break在 for 中的场景

与while中情形相同

continue在 for 中的场景

同样与while中情形一样,不同就在于看 判断部分放在哪里了,只要记住continue跳过它后面的代码就行了。

举报

相关推荐

测试卷,快来看看吧

学会了“打印素数”快来看看吧

0 条评论