5.4 跳出循环
在循环过程中,如果有特殊需要,如何立即跳出循环呢?本节就来介绍一下如何跳出循环。
5.4.1 continue
continue的中文意思为“继续”。当程序执行到continue语句时,就会停止当前这一遍循环,不再执行continue后面的语句,然后直接尝试下一遍循环。
提示
continue并不是必需的,很多情况下是为了表示程序逻辑上的清晰性。
下面通过一个实例来说明continue的作用。
【实例5-8】continue(代码5-8.txt)
新建名为“continuetest”的【C++ Source File】源程序,源代码如下所示:
【代码详解】
在该例中,使用for循环输出从1到10的整数,如果i能被2整除,就调用continue跳出当前循环,进入下一次循环,直到整个循环结束。
运行结果如图5-10所示。
图5-10 代码运行结果
【实例分析】
从运行结果来看,该程序是将从1到10的奇数输出。当i=1时,判断1不能被2整除,调用cout把1输出。进入下一个循环,i=2,可以被2整除,调用continue,不输出,进入下一个循环,直到循环结束,将奇数全部输出。
5.4.2 break
break可以在循环和switch中使用。程序执行到break语句时,如果break在循环中出现,就跳出当前层次的循环(只能跳出一层),继续执行循环外的语句。如果在switch语句中出现,就结束switch语句,继续执行switch语句之后的语句。
提示
break只是跳出当前循环,若有多层循环需要跳出,则需要借助每层循环外的额外条件判断。
下面通过一个实例来说明break的特性。
【实例5-9】break(代码5-9.txt)
新建名为“breaktest”的【C++ Source File】源程序,源代码如下所示:
【代码详解】
在该例中,使用for循环输出从1到10的整数,如果i能被2整除,就调用break跳出当前循环,不再进入循环。
运行结果如图5-11所示。
图5-11 代码运行结果
【实例分析】
从运行结果来看,当i=1时,判断1不能被2整除,调用cout把1输出;进入下一个循环,i=2,可以被2整除,调用break;跳出整个循环,不再进行输出操作。