C语言中的break和continue语句

C语言中的break和continue语句

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

  1. break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。
  2. continue的作用是跳过本次循环continue后面的代码,在for循环和while循环中有所差异。

一、while循环中break和continue

1.break举例

#include <stdio.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
			break;//当i等于5后,执行beak,循环就终止了
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

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

2.continue的举例

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

#include <stdio.h>
int main()
{
	int i = 0;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		//当i等于5后,就执行continue,直接跳过continue的代码,去循环判断的地方
		//因为这里跳过了i = i+1,所以i一直等于5,程序陷入死循环
		printf("%d ", i);
		i = i + 1;
	}
	return 0;
}

在这里插入图片描述
这里我们可以看出,程序还在执行,陷入死循环。
到这⾥我们就能分析出来,continue可以帮助我们跳过某⼀次循环continue后边的代码,直接到循环的判断部分,进行下⼀次循环的判断,如果循环的调整是在continue后边的话,可能会造成死循环。

二、for循环中的break和continue

1.break举例

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

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

运行结果:
在这里插入图片描述
break的作用是永久的终止循环,未来我们在某个条件发生的时候,不想再继续循环的时候,就可以使用break来完成。

2.continue举例

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

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

运行结果:
在这里插入图片描述
所以在for循环中continue的作用是跳过本次循环中continue后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue来实现。
在这里我们也可以简单对比下while循环和for循环中continue的区别:
在这里插入图片描述
在这里插入图片描述

三、do while循环中的break和continue

do while语句中的breakcontinue的作用和while循环中几乎一模一样,这里不再赘述。

1.break举例

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

运行结果:
在这里插入图片描述

2.continue举例

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

运行结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值