在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是非常常见的现象。C语言中提供了break和continue两个关键字,就是应用到循环中的。
- break的作用是用于永久的终止循环,只要break被执行,直接就会跳出循环,继续往后执行。
- continue的作用是跳过本次循环continue后面的代码,在for循环和while循环中有所差异的。
1、while循环中的break和continue
1.1、break举例
#include <stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
if(i == 5)
break;
printf("%d ", i );
i = i + 1;
}
return 0;
}
执行的结果:
打印了1,2,3,4后,当i等于5的时候,循环到break的地方终止,不再打印,不再循环。
所以break的作用就是永久的终止循环,只要break被执行,break外的第一层循环就终止了。
那以后我们在循环中,想在某种条件下终止循环,则可以使用break来完成我们想要的效果。
1.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;
}
代码运行结果:
到这里我们就能分析出来,continue可以帮助我们跳过某一次循环continue后面的代码,直接到循环的判断部分,进行下一次循环的判断,如果循环的调整是在continue后面的话,可能会造成死循环。
2、for循环中的break和continue
2.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.2、continue的举例
上面的代码,如果把break换成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;
}
运行代码:
所以在for循环中continue的作用是跳过本次循环中continue后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续的某些操作的时候,就可以使用continue来实现。
3、do while循环中的break和continue
do while语句中的break和continue的作用和while循环几乎一模一样。
3.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;
}
运行代码:
3.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;
}