返回介绍

6.4 ?:运算符

发布于 2024-10-08 23:14:04 字数 1705 浏览 0 评论 0 收藏 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文