continue与break --- 循环控制的两大巨头

目录

前言:

break:

 continue:

总结:


前言:

continue与break都是用于循环语句的,帮助我们更好的控制循环流程,

我们以while循环为例,来深度解析continue与break语句:

 这是while语句的基本结构,结合continue与break,我们来分析一下:

当判断条件为真(即 非0) 时,就会执行循环中的语句,

当我们遇到break语句时,就会直接跳出循环,

当我们遇到continue语句时,又返回判断条件了,进行下一次循环,

那么他的底层逻辑到底是怎么样的呢?

我们来一层层解析:

break:

break语句就是直接终止退出循环

循环中遇到break语句,无论你的循环进行到什么地方,他都会直接将你拽出循环,执行循环后面的语句,

就好比你在房间里工作,突然发生了大地震,这时我们无论在干什么都要立即终止,跑出房间。

下面写一个代码来感受一下:

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (5 == i)
		{
			break;
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

从 i = 1 进入循环,i != 5,不执行if语句,继续向下走,打印 i  , i++ 

    i = 2                    i != 5,,不执行if语句,继续向下走,打印 i  , i++ 

    i = 3                    i != 5,,不执行if语句,继续向下走,打印 i  , i++ 

    i = 4                    i != 5,,不执行if语句,继续向下走,打印 i  , i++  

     i = 5                   符合if 语句的判断条件,执行break语句,直接跳出循环,执行 return 0;

 所以,该代码的结果为:1 2 3 4

 continue:

continue就是只跳过本次循环,也就是本次循环中continue之后的语句不会再执行了,直接进行下一次循环。

continue语句与break语句有些相似,都是不再进行本次循环后面的语句,但break语句是直接跳出循环,而continue语句只是不执行本次循环后面剩余的代码,但是他要跳到下一次循环,他还是处于循环之中的。

下面写一个代码来感受一下:

#include <stdio.h>
int main()
{
	int i = 0;
	while (i < 10)
	{
		i++;
		if (5 == i)
		{
			continue;
		}
		printf("%d ", i);
	}
	return 0;
}

和上面的代码差不多,将break换成continue,

从 i = 0 进入循环,

i++( i = 1),i != 5,,不执行if语句,打印 i ,

i++( i = 2),i != 5,,不执行if语句,打印 i ,

i++( i = 3),i != 5,,不执行if语句,打印 i ,

i++( i = 4),i != 5,,不执行if语句,打印 i ,

i++( i = 5),i  = 5,,符合if 语句判断条件,执行if语句,遇到continue跳出本次循环执行下一次循环

i++( i = 6),i != 5,,不执行if语句,打印 i ,

i++( i = 7),i != 5,,不执行if语句,打印 i ,

i++( i = 8),i != 5,,不执行if语句,打印 i ,

i++( i = 9),i != 5,,不执行if语句,打印 i ,

i++( i = 10),i != 5,,不执行if语句,打印 i ,

此时 i = 10 不符合while语句判断条件,退出循环,执行return 0;

所以,该代码的结果为:1 2 3 4 6 7 8 9 10

总结:

 break 语句 :直接跳出循环

continue 语句 :跳过本次循环,执行下一次循环

好了,本期内容就到这里,感谢大家的阅读,后续会只需更新更多的优质内容,点赞关注不迷路!!!

感谢大家的支持!!!

下期再见!!!

 

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蒲公英的吴

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

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

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

打赏作者

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

抵扣说明:

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

余额充值