三、C语言中的分支与循环—break和continue语句(8)循环结构 完

本章分支结构的学习内容如下:

三、C语言中的分支与循环—if语句 (1)

三、C语言中的分支与循环—关系操作符 (2)

三、C语言中的分支与循环—条件操作符 与逻辑操作符(3)

三、C语言中的分支与循环—switch语句(4)分支结构 完


本章循环结构的学习内容如下:

三、C语言中的分支与循环—while循环 (5)

三、C语言中的分支与循环—for循环 (6)

三、C语言中的分支与循环—do-while循环 (7)

三、C语言中的分支与循环—break和continue语句(8)循环结构 完  


 1.基本概念

在循环执行的过程中,如果某些状况发⽣的时候,需要提前终止循环,这是非常常见的现象。C语⾔中 提供了 break continue 两个关键字,就是应该到循环中的。
break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行
continue 的作用是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。
其实我们在之前已经接触到了break语句,在switch分支结构中,break语句用于跳出分支结构,避免穿透现象,详细解释见 三、C语言中的分支与循环—switch语句(4)分支结构 完

2.while循环中的break和continue

1)break

代码示例

打印了1,2,3,4后,当i等于5的时候,循环正 break 的地⽅终⽌,不再打印,不再循环。
所以 break 的作⽤就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了。
那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤ 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;
}

2)continue

continue 是继续的意思,在循环中的作⽤就是跳过本次循环中 continue 后边的代码,继续进⾏
下⼀次循环的判断。
continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 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;
}

3.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

#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
 printf("%d ", i);
 }
 return 0;
}
运行结果如下:我们可以看到当i=5时,打印任务被跳过了

4.do-while循环中的break和continue

do.while 语句中的 break continue 的作⽤和 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 ;
}