- 内容提要
- 前言
- 第 1 章 预备知识
- 第 2 章 开始学习 C++
- 第 3 章 处理数据
- 第 4 章 复合类型
- 第 5 章 循环和关系表达式
- 第 6 章 分支语句和逻辑运算符
- 第 7 章 函数——C++的编程模块
- 第 8 章 函数探幽
- 第 9 章 内存模型和名称空间
- 第 10 章 对象和类
- 第 11 章 使用类
- 第 12 章 类和动态内存分配
- 第 13 章 类继承
- 第 14 章 C++中的代码重用
- 第 15 章 友元、异常和其他
- 第 16 章 string 类和标准模板库
- 第 17 章 输入、输出和文件
- 第 18 章 探讨 C++新标准
- 附录 A 计数系统
- 附录 B C++保留字
- 附录 C ASCII 字符集
- 附录 D 运算符优先级
- 附录 E 其他运算符
- 附录 F 模板类 string
- 附录 G 标准模板库方法和函数
- 附录 H 精选读物和网上资源
- 附录 I 转换为 ISO 标准 C++
- 附录 J 复习题答案
6.6 break 和 continue 语句
break 和 continue 语句都使程序能够跳过部分代码。可以在 switch 语句或任何循环中使用 break 语句,使程序跳到 switch 或循环后面的语句处执行。continue 语句用于循环中,让程序跳过循环体中余下的代码,并开始新一轮循环(参见图 6.4)。
图 6.4 break 和 continue 语句的结构
程序清单 6.12 演示了这两条语句是如何工作的。该程序让用户输入一行文本。循环将回显每个字符,如果该字符为句点,则使用 break 结束循环。这表明,可以在某种条件为 true 时,使用 break 来结束循环。接下来,程序计算空格数,但不计算其他字符。当字符不为空格时,循环使用 continue 语句跳过计数部分。
程序清单 6.12 jump.cpp
下面是该程序的运行情况:
程序说明
虽然 continue 语句导致该程序跳过循环体的剩余部分,但不会跳过循环的更新表达式。在 for 循环中,continue 语句使程序直接跳到更新表达式处,然后跳到测试表达式处。然而,对于 while 循环来说,continue 将使程序直接跳到测试表达式处,因此 while 循环体中位于 continue 之后的更新表达式都将被跳过。在某些情况下,这可能是一个问题。
该程序可以不使用 continue 语句,而使用下面的代码:
然而,当 continue 之后有多条语句时,continue 语句可以提高程序的可读性。这样,就不必将所有这些语句放在 if 语句中。
和 C 语言一样,C++也有 goto 语句。下面的语句将跳到使用 paris:作为标签的位置:
也就是说,可以有下面这样的代码:
在大多数情况下(有些人认为,在任何情况下),使用 goto 语句不好,而应使用结构化控制语句(如 if else、switch、continue 等)来控制程序的流程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论