#37 while语句中的break和continue

1. break

break的作用是用于终止循环的,在while循环中,只要有机会执行到break,不管后续还可能有多少次循环,循环都会终止。请看下面的代码:

#include <stdio.h>

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

**练习:**连续输入字符,只打印数字字符,其他字符直接跳过,不做处理。
参考代码:

#include <stdio.h>

int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF)
	{
		if (ch < '0' || ch > '9')
			continue;
		putchar(ch);
	}
	return 0;
}

上述的代码种,ASCII码值不在’0’~'9’范围内的,使用continue跳过后续的putchar语句,不再打印。

学到这里,我们也就理解了continue可以帮助我们跳过某一次循环continue后边的代码,直接到循环的判断部分,进行下一次循环的判断。

所以未来我们在循环中,当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue来实现。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值