15-辅助控制语句continue(下)

本文详细讲解了控制语句continue和break的区别,以及如何在循环中使用它们,如跳过特定条件的执行。通过实例演示了如何在打印1-100的数时忽略能被3整除的数,以及处理用户输入判断素数时的死循环问题。
摘要由CSDN通过智能技术生成

咱们这节课讲控制语句continue,以它来和break做区分。

b8542ffea1b94269b339b590ee22d66e.jpg

 364b23e6826f457d889c345640180e77.jpg

 break中,我们家上一个条件,进入break提前终止循环 ,类似道理,把break换成continue,在循环当中如果条件不成立,跳过语句2,继续循环,所以说这个continue只是结束了一次循环。它会接着下一次判断的。而break是彻底的循环结束。总结:continue结束本次循环,接着判断下一次是否执行循环,而break终止当下整个循环。

练习:打印1-100的所有数,其中能遇到被三整除的数不打印。

我们前面写了一个练习,打印1-100的数,遇到能被3整除的数停止打印。现在这里呢是把这个数跳过,别的数正常打,这就用continue。

b3f5b5dbf41f4770a9a286307a2d9ce2.jpg

390436efdbc343e89277ecbb57efa308.jpg 

 我们可以对比break的时候,break打到2就结束了。下面我们继续来看一个练习。

练习:

输入一个整数n,判断它是不是一个素数,若用户输入的不是整数,重新输入。

cc223e429fbc47db8cd99deeab6569fd.jpg

 78da3dc675f6482b9fdd2629cc407125.jpg

 可以看到我们的输出结果。while是一个死循环,如果改为while(0)就不执行循环了。当输入任意字符while就会进入一个持续不断的死循环。为了解决这个问题。15bd5d10c94c46b9b9d5e9a59ba24d0e.jpg

 scanf返回值代表成功输入变量的个数,如果你输入字母,返回值就是0,如果是这种情况,重新输入,就是今天讲的continue  当你输入字母它下次scanf返回的还是这个字母,没办法给到n,所以加上这个continue,还是不能解决我们死循环这个问题。问题就在你输入字母在缓冲区当中,对于输入是有缓冲区的,我本来需要取走一个整数,但是这个字母一直站着这个缓冲区,每次取都会导致死循环,像这种情况很好说,就把这个无关的东西拿走。调一个getchar()就完事了。

fa0beae029fa41de8968cd2d6f78cd57.jpg

 这样就解决啦!scanf返回值输入的数据与你指定的格式不匹配就会返回0。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值