C语言中break和continue在while和for循环中的作用

本文详细解释了C语言中while和for循环中continue和break的关键作用,包括终止当前循环、跳过部分代码以及在多层循环中的行为。
摘要由CSDN通过智能技术生成

1.1 while中的continue作用

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		printf("%d ", i);           //结果为1,2,3,4,(死循环,代码不会结束)
		i = i + 1;
	}

	return 0;
}

上图即为运行代码和运行结果图片  。

由此得知,while循环中continue的作用是:用于终止此次循环(跳过本次循环的后面的代码),直接去判断部分,进行下一次的入口判断。

1.2 第二种continue的情况(当i=i+1,即调整部分在continue前面)

#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{	
		i = i + 1;
		if (i == 5)
			continue;
		printf("%d ", i);           //结果为2 3 4 6 7 8 9 10 11
		
	}

	return 0;
}

此种只要稍加注意应该不会出错。

1.3 while中的break作用


#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);           //结果为1 2 3 4
		i = i + 1;
	}

	return 0;
}

while循环中break的作用是:只要遇到break,就停止后面的所有的循环,直接终止循环。(永久的终止循环)

2.1 for中的continue作用

#include <stdio.h>
int main()
{
	int i = 1;
	for (i = 1; i <= 10; i = i + 1)
	{
		if (i == 5)
			continue;
		printf("%d ", i);           //结果为1 2 3 4 6 7 8 9 10
	}
	return 0;
}

for循环中continue的作用是:在for循环中,若遇到continue,会跳过continue后面的代码,直接去循环的调整部分,和while循环中的continue有细微的区别。

2.2 for中的break作用

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

 for循环中break的作用是:只要遇到break,就停止后面的所有的循环,直接终止循环。(永久的终止循环),break在while循环和for循环中一样。

3. 在多层代码块中,一个break只能跳出一层

#include <stdio.h>
int main()
{
	int i = 1;
	int j = 1;
	for (i = 1; i <= 10; i = i + 1)
	{
		
		for (j = 1; j <= 10 ; j = j + 1)
		{
			if (j == 5)
				break;
			printf("%d*%d=%d   ", i,j,j*i);						//1 * 1 = 1   1 * 2 = 2   1 * 3 = 3   1 * 4 = 4
																//2 * 1 = 2   2 * 2 = 4   2 * 3 = 6   2 * 4 = 8
																//3 * 1 = 3   3 * 2 = 6   3 * 3 = 9   3 * 4 = 12
																//4 * 1 = 4   4 * 2 = 8   4 * 3 = 12   4 * 4 = 16
																//5 * 1 = 5   5 * 2 = 10   5 * 3 = 15   5 * 4 = 20
																//6 * 1 = 6   6 * 2 = 12   6 * 3 = 18   6 * 4 = 24
		}
		printf("\n");
			
		if (i == 6)
			break;
	}
	return 0;
}

由上可知,当 j==5 成立时,执行内层的break;,跳出内层循环;外层循环依然执行,直到 i==6 成立,跳出外层循环。内层循环共执行了6次,外层循环共执行了1次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值