- 内容提要
- 前言
- 第 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.4 ?:运算符
C++有一个常被用来代替 if else 语句的运算符,这个运算符被称为条件运算符(?:),它是 C++中唯一一个需要 3 个操作数的运算符。该运算符的通用格式如下:
如果 expression1 为 true,则整个条件表达式的值为 expression2 的值;否则,整个表达式的值为 expression3 的值。下面的两个示例演示了该运算符是如何工作的:
可以这样解释第一个示例:如果 5 大于 3,则整个表达式的值为 10,否则为 12。当然,在实际的编程中,这些表达式中将包含变量。
程序清单 6.9 使用条件运算符来确定两个值中较大的一个。
程序清单 6.9 condit.cpp
下面是该程序的运行情况:
该程序的关键部分是下面的语句:
它与下面的语句等效:
与 if else 序列相比,条件运算符更简洁,但第一次遇到时不那么容易理解。这两种方法之间的区别是,条件运算符生成一个表达式,因此是一个值,可以将其赋给变量或将其放到一个更大的表达式中,程序清单 6.9 中的程序正是这样做的,它将条件表达式的值赋给变量 c。条件运算符格式简洁、语法奇特、外观与众不同,因此在欣赏这些特点的程序员中广受欢迎。其中一个技巧(它完成一个应被谴责的任务——隐藏代码)是将条件表达式嵌套在另一个条件表达式中,如下所示:
这是一种费解的方式(但绝不是最难理解的),它按下面的顺序打印 3 个字符串:
从可读性来说,条件运算符最适合于简单关系和简单表达式的值:
当代码变得更复杂时,使用 if else 语句来表达可能更为清晰。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论