break,countinue和goto语句

一.break和countinue语句;

在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中提供了 break 和 continue 两个关键字,就是应该到循环中的。

break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。

下面我们来介绍每一种循环中,break和continue的不同用法和区别;

1.1.while循环中的break,continue;

在while循环中,循环过程中碰到break,则会跳出这一层循环;

#include<stdio.h>
int main()
{
	int a=5;
	while (a >= 5)
	{
		if (a == 7)
		{
		  break;
		}
		printf("%d\n", a);
		a++;
	}
	
	return 0;
}

这里我们可以看到当执行到break的时候我们的程序就结束了运行,如果没有break跳出循环,这里将会一直打印5以上的数字;

所以 break 的作⽤就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了。那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤ break 来完成我们想要的效果。

我们把代码中的break替换成continue:

#include<stdio.h>
int main()
{
	int a=5;
	while (a >= 5)
	{
		if (a == 7)
		{
			continue;
		}
		printf("%d\n", a);
		a++;
	}
	
	return 0;
}

这里我们可以看到,编译运行程序之后貌似程序并没有结束运行,而是光标停留在了下一行;

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

1.2.for循环中的break和continue;

break举例:

int main()
{
	int num;
	for (num = 1; num <= 100; num++)
	{
		if (num == 20)
		{
			break;
		}
		printf("%d ", num);
	}
	return 0;
}

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

continue举例:

int main()
{
	int num;
	for (num = 1; num <= 100; num++)
	{
		if (num == 20)
		{
			continue;
		}
		printf("%d ", num);
	}
	return 0;
}

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

我们这里可以对比一下continue在for循环和while循环的区别:

1.3.do while语句的break和continue语句;

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;
}

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;
}

我们可以发现用法其实跟while的用法是一样的;

注意:break和continue的使用范围只能在一个循环体内生效。

二.goto语句;

goto 语句可以实现在同一个函数内跳转到设置好的标号处。我们可以理解为goto语句能把我们传送到我们想要到的位置。

#include <stdio.h>
int main()
{
	printf("hehe\n");
	goto next;
	printf("haha\n");

next:
	printf("跳过了haha的打印\n");
	return 0;
}

 输出的结果是:

 前面我们提到了,当我们想让快速跳出一个循环可以用break,但是如果有多个循环的话就要使用多个break来达到快速跳出所以循环的效果,这个时候我们可以使用goto语句来快速跳出所有循环。

for (...)
{
	for (...)
	{
		for (...)
		{
			if (disaster)
				goto error;
		}
	}	
error:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值