C语言分支与循环(2)

上一次我们了解到了分支,也就是选择结构,那么这一节将会去学习循环语句。

一、while循环

1、引言

我们已经掌握了,if语句:

if(条件)
    语句;

当条件满足的情况下,if语句后的语句执行,否则不执行。但是这个语句只会执行一
。由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。那我们怎么做呢?

C语言中给我们引入了: while 语句,可以实现循环。

//while 语法结构
while(表达式)
    循环语句;

在这里插入图片描述
比如我们要实现对1–10的数字打印
在这里插入图片描述

由此可见,循环是非常实用的,接下来深入了解一下while的用法语法。

2、while语句中的break与continue

(1)break介绍

我们可以在while循环中加上一个if语句,当满足这个条件语句时,则会执行break语句,循环终止。

在这里插入图片描述

总结:break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的

(2)continue介绍

在这里插入图片描述
可见continue让程序跳过打印”5“,但是不会影响后面的内容,还会进行下一次判断与执行。

总结:continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的

判断部分。进行下一次循环的入口判断。

二、for循环

1、语法

在这里插入图片描述

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

表达式1为初始化部分,用于初始化循环变量的。

表达式2为条件判断部分,用于判断循环时候终止。

表达式3为调整部分,用于循环条件的调整。

表达式1用来初始化值,类似于int a = 0,表达式2便是判断也就是while循环的条件,表达式3
是对数值的调整,也就是a++或a–之类的改变某些值的表达式。

2、for循环中的break与continue

在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。

但是还是有些差异:

(1)break介绍

在这里插入图片描述
我们在循环中设置了一个if条件语句,当满足这个条件语句时,则会执行break,跳出整个for循环,后续内容将不再继续执行。

(2)continue介绍

在这里插入图片描述

这里的continue是跳出当前循环,再继续下一个循环,但它会进行a++这个步骤

3、for循环的变种

for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问题。

在这里插入图片描述
这是我们的原代码,我们可以看见这里打印了4个hehe,
现在我们把代码中for循环里的初始化的区域都去掉后再次
编译函数,看看结果有什么不同之处。
在这里插入图片描述

我们把两个代码进行对比一下,可看出来第一个代码打印了4个hehe,第二个代码打印了2个hehe。这是什么原因?因为for循环的for中的j = 0被去掉了,i的第一次循环的时候,j就已经变为2了,第二次for循环没有将j重新初始化为0,所以j依旧为2,循环条件不满足跳过循环。这就导致了我们只打印出了2个hehe。

三、do…while()循环

do
循环语句;
while(表达式);

在这里插入图片描述

do…while 和 while 的执行过程非常相似,唯一的区别是:“do…while 是先执行一次循环体,然后再判别表达式”。当表达式为“真”时,返回重新执行循环体,如此反复,直到表达式为“假”为止,此时循环结束。

注意:while 后面的“;”千万不能省略。

四、三大循环的区别

(1)3种循环都可以用来处理同一问题,一般情况下它们可以互相代替。
(2)在while循环和do…while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或i=i+1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。
(3)用while和do…while循环时,循环变量的初始化的操作应在while和do…while语句之前完成。而for语句可以在表达式1中实现循环的初始化。
(4) while循环、do…while循环和for循环,都可以用break语句跳出循环,用continue语句结束本次循环。

所以一般情况下for和while循环语句用的时候较多,而do…while()用的则较少,但都是非常好用的。

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

love you,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值