zoukankan      html  css  js  c++  java
  • break和continue语句

    break和continue语句改变控制流程。break语句在while、for、do/while或switch结构中执行时,使得程序立即退出这些结构,从而执行该结构后面的第一条语句。break语句常用于提前从循环退出或跳过switch结构的其余部分(如图2.22)。图2.26演示了for重复结构中的break语句,if结构发现x变为5时执行break,从而终止for语句,程序继续执行for结构后面的cout语句。循环只执行四次。

    注意这个程序中控制变量x在for结构首部之外定义。这是因为我们要在循环体中和循环执行完毕之后使用这个控制变量。

    continue语句在while、for或do/while结构中执行时跳过该结构体的其余语句,进入下一轮循环。在while和do/while结构中,循环条件测试在执行continue语句之后立即求值。在for结构中,执行递增表达式,然后进行循环条件测试。前面曾介绍过.while结构可以在大多数情况下取代for结构。但如果while结构中的递增表达式在continue语句之后,则会出现例外。这时,在测试循环条件之前没有执行递增,并且while与for的执行方式是不同的。图2.27在for结构中用continue语句跳过该结构的输出语句,进入下一轮循环。

     // Fig.2.26:fig02 26.cpp
     // Usinq the break statement in a for structure
     #include< ostream.h>
     int main()
     {
     // x declared here so it can be used after the loop
     int x;
     for ( x = 1; x <= 10; x++ ) {
     if { x == 5 )
     break; // break loop only if x is 5
     cout << x <<" ";
     }
     cout << " Broke out of loop at x of" << x << endl;
     return O;
     }

    输出结果:

    l 2 3 4

    Broke out of loop at x of 5

    图2.26 for重复结构中的break语句

      // Fig. 2.27: figO2_OT.cpp
      // Using the continue statement in a for structure
     #include < iostream.h>
     int main()
     {
        for ( iht x = 1; x <- 10; x++ } {
           if {x==5)
             continue;  // skip remaining code in loop
                      // only if x is 5
          cout << x <<" ";
      }
          cout << "
    Used continue to skip printing the value 5"
                 << endl;
          return O;
     }

    l 2 3 4 5 6 7 9 9 10

    USed continue to skip printing the value 5

    图 2.27 在for结构用continue语句

    编程技巧2.30

    有些程序员认为break和continue会破坏结构化编程。由于这些语句可以通过后面要介绍的结构化编程方法实现,因此这些程序员不用break和continue。

    性能提示 2.9

    正确使用break和continue语句能比后面要介绍的通过结构化编程方法的实现速度更快。

    软件工程视点2.10

    达到高质量软件工程与实现最佳性能软件之间有一定冲突。通常,要达到一个目标,就要牺牲另一个目标。

    2016考研复试技巧http://www.kyjxy.com/fushi/zhinan/
    考研专硕备考资料http://www.kyjxy.com/zhuanshuo/
    考研院校政策http://www.kyjxy.com/yuanxiao/zhengce/

  • 相关阅读:
    java执行构造器和初始化字段的顺序
    java语言中的varargs
    对Java语言的byte类型变量进行无符号提升
    VisualStudio 切换帐号 (原帐号已过期且无法登录时用)
    C/C++ 的关系运算符采用短路运算
    实现std::string的ltrim、rtrim和trim方法
    Excel 用于批量把单元格设置为"文本格式保存的数字"的宏
    为什么要用webUI?
    CEF3中js调用delphi内部方法
    2016-1-1最新版本的linphone-android在mac上编译通过,同时建立了IDEA工程
  • 原文地址:https://www.cnblogs.com/along-may/p/4548921.html
Copyright © 2011-2022 走看看