break与continue

本文详细解释了C语言中break和continue在循环结构(如while、for和do-while)中的作用,分别用于提前终止循环和跳过本次循环,以实现特定条件下的控制流管理。
摘要由CSDN通过智能技术生成

在学习C语言的循环结构时发现,在循环执行过程中,如果某些状况发生时,需要提前终止循环,就需要用到关键词break和continue,以下说明的例子均为:在屏幕上打印1-10

break

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

continue

continue 的作用是跳过本次循环continue后面的代码,执行下一次循环,在for循环和while循环中所有的差异

break和continue在while循环中的应用

break

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

 运行结果为:1234

f0fe0a25b1d04fa9bcda33a932d4dac8.png

当 i = 5 时,if语句执行,遇到break后,循环终止,不再打印,不在循环,所以break的作用就是永远的终止循环,只要break执行,break外的第一层循环就终止了。由此不难得出,如果我们想要在某种条件下终止循环,就可以使用break来完成我们的效果

continue

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

运行结果是:1234 (运行不结束,循环不结束 ,死循环并且现在 i 的值是5,之后也一直是5)

6264c2ab7a1f4428bfb53afd2f21d08e.png

当 i=5后,执行continue,直接跳过后面的两句代码,返回到循环的判断的地方,因为没有执行i++,所以i一直是5,一直满足循环的判断条件,循环就会一直执行下去,陷入死循环。由此不难看出,如果循环的调整是在continue后面的话,可能会造成死循环。

那么我们将调整语句i++放在continue前面结果会是怎样的呢

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

运行结果为:2 3 4 6 7 8 9 10 11

b38d0fcc41dc4950aef2a1b76a4449bf.png

break和continue在for中的应用

break

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

运行结果

dbd79028aee04b7584e56e74690d7716.png

与while循环结果一致,因为break就是用来永久终止循环的。 

continue

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

运行结果为:1234678910

c6bbad4c8006406798ca8794e74ff46b.png

当i=5时,执行if语句,遇到continue,跳过后面的一条语句,直接来到调整部分i++,然后继续循环。所以在for循环中continue的作用是跳过本次循环continue后面的语句,直接去到循环的调整部分。故若想要在某个条件下,本次循环无需执行后续的某些操作时,就可以使用continue来实现。

break和continue在do while中运用

 break

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

运行结果为1234

30884e0ac48b49b7bda2cc8205558a9e.png

 continue

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

运行结果为 :1234

dc9601b6e36d43c2a168e8ced13b3724.png

所以,break和continue在do while循环与while循环的作用几乎一模一样 。

以上内容,如果有任何问题,请留言或私信我。期待与大家沟通交流。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值