上QQ阅读APP看书,第一时间看更新
3.5 跳转语句
前面介绍的语句都是根据其在程序中的先后次序,从主函数开始,依次执行各个语句。这里要介绍另一类语句,当执行该类语句时,它要改变程序的执行顺序,即不依次执行紧跟其后的语句,而跳到另一个语句处接着执行。从表面上看循环语句或条件语句也改变了程序的执行顺序,但由于整个循环只是一个语句(条件语句也一样),因此它们也仍然是顺序执行的。
3.5.1 break语句
1)作用:
①终止switch语句与单循环语句的执行;
②对多重循环循环语句,可从内循环体跳到外循环体。
2)格式:break;
【例3.12】输入一个正整数,判断该数是否是素数。
分析:根据素数的定义,若a是素数,则它不能被2~a-1的整数整除,否则不是素数。程序如下:
程序运行结果如图3-22所示。
3.5.2 continue语句
图3-22 素数程序运行结果
1)作用:
①在while或do…while语句中执行到continue语句时,程序不执行continue后的语句,而转向条件表达式处,开始下一次循环。即所谓短路语句。
②在for语句中执行到continue语句时,程序不执行continue后的语句,而转向for语句中的第3表达式处,开始下一次循环。
2)格式:continue;
【例3.13】输入10个整数,统计其中正数的和及正数的个数。
程序运行结果如图3-23所示。
3)注意:
在嵌套循环语句中,continue语句只对当前循环起作用。
continue语句不能用于循环语句之外的任何其他语句中。
图3-23 统计正数程序运行结果
continue语句和break语句的区别是:continue语句只结束本次循环,而不是结束整个循环的执行;而break语句则是结束循环,不管循环条件是否成立。