8.1.3.5 BreakContinue循环控制语句

while循环是判断循环条件是否成立作为循环是否继续的依据,当循环体不满足(表达式为0)时,退出循环。

有时候,在循环处理过程中,由于某种情况的要求,而不需要执行循环体中的全部语句,在循环进行的中途停止继续执行循环体的剩余语句,从循环体中提前退出循环,或者返回循环的首部开始新的一次循环。M语言提供了breakcontinue语句,这些语句可以使程序无条件改变地改变执行的顺序,跳转到指定的位置。

u  break语句

中断处理语句break语句的功能是在循序结构中终止本层循环,退出循环结构。

break的语法格式为:

break ;

while循环结构中使用break语句,当程序执行到break时会跳出break所在的循环,使程序立即退出该语句结构转而执行该语句后面的下一条语句,其作用是用来中断while语句的执行。因此,如果执行程序的某一点后,不需要等到正确结束就退出循环体,可以用break语句实现。

例如:

程序清单中所写的代码就是使用break语句的示例,获得第一个在100~1000整除7的正整数。

break语句使用示例

int  x;

x = 100;

while(x >= 100 && x <=1000)

{

 if(x%7 == 0)  //7是任意选的,也可整除其他正整数,例如1,2,3….

{

  break;

}

 x = x + 1;

}

程序结果是:x的值为105,表明105是整除7的第一个整数

u  continue语句

continue语句的功能是终止循环体的本次执行,返回循环值首部,检查循环条件,以决定是否进行下一次循环体的处理。

continue语句也称为继续语句。其一般语法格式为:

continue ;

在循环体的任何位置,当执行到continue语句时,程序被强迫跳过循环体剩余语句的执行而直接返回循环的开头重新进行循环条件的判断,根据判断的结果决定是否继续执行循环。即一旦执行了continue语句,程序就会跳过循环体中位于该continue语句后面的所有语句,提前结束本次循环周期并开始新的一轮循环。

例如:

程序清单中所列的代码就是使用continue语句的示例,计算100~1000之间有多少个数,其中各个位数字之和为5

continue语句使用示例

int  i,s,k,count;

count = 0; //初始个数为0

i = 100;

while(i >= 100 && i <=1000)

{

    s = 0;

    k = i;

   while (k)

  {

      s = s + k%10;   //获得各个位之和

      k = k/10;

 }

   if(s != 5)

 {

     continue ;   //不是5,继续查找下一个数

}

 else

{

    conut = count + 1;

}

  i = i +1;

}

程序运行结束后,会获得count的值为15

注意:

①在循环体中,continue语句通常与if语句配合使用。在嵌套循环语句中,continue语句只对当前循环起作用,不能用于循环语句之外的任何其他语句中。

continue语句和break语句的区别是:continue语句只结束本次循环,而不是结束   整个循环的执行;而break语句则是结束循环,不管循环条件是否成立;break语句和continue语句只能用在循环语句中。