在循环执行过程中,如果某些情况发生的时候需要提前终止循环,我们会用到break和continue两个关键词,
- break:作用是用于永久的终止循环,只要break被执行,直接就跳出循环,继续往后执行。
- continue:作用的跳出本次循环continue后面的代码。
while循环中的break和continue
1.break举例
#include<stdio.h>
int main() {
int a = 1;
while (a <= 10) {
if (a == 5) {
break;
}
printf("%d\n", a);
a++;
}
return 0;
}
运行结果
打印完 1、2、3、4后,当a等于5的时候碰到break后不再打印,终止循环
所以 break 的作⽤就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了。 那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤ break 来完成我们想要的效果。
2.continue举例
#include<stdio.h>
int main() {
int a = 1;
while (a <= 10) {
if (a == 5) {
continue;
}
printf("%d\n", a);
a++;
}
return 0;
}
运行结果
这里肯定就有人会疑惑,continue的作用不是跳过本次循环吗,怎么会只打印到4就不打印了呢,其实当a等于5的时候continue直接跳过下面的代码,包括a++,跳过a++后就会进入死循环,一直执行if语句里的代码。
for循环中的break和continue
1.break举例
#include<stdio.h>
int main() {
int a;
for (a = 1; a <= 10;a++) {
if (a == 5) {
break;
}
printf("%d\n",a);
}
return 0;
}
运行结果
2.continue举例
#include<stdio.h>
int main() {
int a;
for (a = 1; a <= 10;a++) {
if (a == 5) {
continue;
}
printf("%d\n",a);
}
return 0;
}
运行结果
do while循环中的break和continue
1.break举例
#include<stdio.h>
int main() {
int a = 1;
do {
if (a == 5) {
break;
}
printf("%d\n", a);
a++;
}
while(a <= 10);
return 0;
}
运行结果
2. continue举例
#include<stdio.h>
int main() {
int a = 1;
do {
if (a == 5) {
continue;
}
printf("%d\n", a);
a++;
}
while(a <= 10);
return 0;
}
运行结果
和while一样,continue会跳过本次循环,会把continue后面的代码全部忽视,所以一直进入死循环,
综上所述,使用循环时for循环优先