【C语言】break和continue的使用

简述:在循环执行的过程中,如果某些状况发⽣的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了 break continue 两个关键字,就是应⽤到循环中的。

• break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行。

• continue 的作用是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

1. while循环中的break和continue

1.1 break举例

#include <stdio.h>

int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)//当i = 5时,就执行break语句,跳出循环
			break;
		printf("%d ", i);
		i++;
	}

	return 0;
}

运行结果:

98a005a986704a2da640d8179332f14b.png

打印了0,1,2,3,4后,当i等于5的时候,循环在 break 的地方终止,不再打印,不再循环。所以break 的作用就是永久的终止循环,只要 break 被执行,break 外的第⼀层循环就终止了。那以后我们在循环中,想在某种条件下终止循环,则可以使用 break 来完成我们想要的效果。

1.2 continue举例

continue 是继续的意思,在循环中的作用就是跳过本次循环中 continue 后边的代码,继续进行下⼀次循环的判断。上面的代码,如果把 break 换成 continue 会是什么结果呢?

#include <stdio.h>

int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
		//当i = 5时,就执行continue语句,直接跳过continue后面的代码,去循环判断的地方
		//因为跳过了 printf 和 i++ 代码,所以i一直为5,程序陷入死循环
		continue;
		printf("%d ", i);
		i++;
	}

	return 0;
}

提示:这里的程序我们无法直接观察到现象,需要各位手动调试观察现象。

到这里我们就能分析出来, continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进行下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成死循环。

2. for循环中的break和continue

2.1 break举例

其实和 while 循环中的 break ⼀样, for 循环中的 break 也是用于终止循环的,不管循环还需要循环多少次,只要执行到了 break ,循环就彻底终止。

#include <stdio.h>

int main()
{
	int i = 0;
	for(i = 0;i <= 10; i++)
	{
		if (i == 5)
			break;
		printf("%d ", i);
	}

	return 0;
}

运行结果:

f8dba040cc204b109109a74a25d378cb.png

break 的作用是永久的终止循环,未来我们在某个条件发生的时候,不想再继续循环的时候,就可以使用 break 来完成。

2.1 continue举例

上面的代码,如果把 break 换成 continue 会是什么结果呢?
 

#include <stdio.h>

int main()
{
	int i = 0;
	for (i = 0; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d ", i);
	}

	return 0;
}

运行结果:

47783ca5eb454b74b2b0dee0a21dee1a.png

所以在 for 循环中 continue 的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue 来实现。

在这⾥我们也可以对比⼀下 while 循环和 for 循环中 continue 的区别:
 

d787b95674e14db4a5ad66efd6b5134a.png

3. do while循环中的break和continue

3.1 break举例

#include <stdio.h>

int main()
{
	int i = 0;
	do
	{
		if (i == 5)
			break;
		printf("%d ", i);
		i++;
	} while (i <= 10);

	return 0;
}

运行结果:

4dad77d53c6e4d3ab8315f591c06316a.png

打印了0,1,2,3,4后,当i等于5的时候,循环在 break 的地方终止,不再打印,不再循环。

#include <stdio.h>

int main()
{
	int i = 0;
	do
	{
		if (i == 5)
        //当i = 5时,就执行continue语句,直接跳过continue后面的代码,去循环判断的地方
		//因为跳过了 printf 和 i++ 代码,所以i一直为5,程序陷入死循环
			continue;
		printf("%d ", i);
		i++;
	} while (i <= 10);

	return 0;
}

这里的 continue 跟 while 循环语句中使用效果是一样的,同样需要各位手动调试观察现象。

  • 29
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值