本章分支结构的学习内容如下:
三、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 ;
}