今天我们来学习下C++中的条件运算符条件表达式

说个明白

条件运算符?:是C++中唯一的三目运算符,由其构成的表达式称为条件表达式,它是这样的:

s1?s2:s3

它的意思就是,如果s1为真(非零),则表达式的结果为s2,否则为s3。
对应的if else语句是这样的:

if(s1!=0){取s2
}else{取s3
}

举个例子

double a=1.0;
double b=2.0;
double c=(a<b)?a:b;

这里c等于条件表达式的值。首先判断(a<b),判断结果为true(非零),所以条件表达式的结果为a,也就是1.0。

其他

C++中 0=false,1=true,说s1是否非零是严谨的,但通常说s1是否为真。
s2、s3的数据类型可以和s1不同,比如:

char a=(1>3)?'a':'b';

over

欢迎关注公众号晓世编程,获取最新文章!
晓世编程,由清华在校生创办,旨在传播编程知识,让编程改变你我,改变世界。目前专注于C++知识传播。

2分钟理解C++的条件表达式相关推荐

  1. 什么是深度学习?45分钟理解深度神经网络和深度学习 刘利刚教授

    什么是深度学习? - 45分钟理解深度神经网络和深度学习 刘利刚 中国科学技术大学图形与几何计算实验室 http://staff.ustc.edu.cn/~lgliu [绪言] 近年来,人工智能(Ar ...

  2. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

    系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...

  3. JAVA条件表达式的陷阱

    Map<String, Integer> map = new HashMap<String, Integer>();  map.put("count", n ...

  4. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  5. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  6. [转载] JAVA条件表达式的陷阱

    参考链接: Java条件表达式中的数字类型提升 Map<String, Integer> map = new HashMap<String, Integer>();   map ...

  7. 重构手法——提炼函数、搬移函数、以多态取代条件表达式

    目录 我的心路历程 我的学习概括 Extract Method(提炼函数) 动机*--做法 动机--做法* Move Method(搬移函数) 动机*--做法 动机--做法* Replace Cond ...

  8. sybase不支持的条件表达式_包教包会!7段代码带你玩转Python条件语句(附代码)...

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

  9. JavaScript实现:如何写出漂亮的条件表达式

    摘要:就让我们看看以下几种常见的条件表达场景,如何写的漂亮! 本文分享自华为云社区<如何写出漂亮的条件表达式 - JavaScript 实现篇>,原文作者:查尔斯. 条件表达式,是我们在c ...

最新文章

  1. android 释放 so,这 10 个值得开启的隐藏功能,让你的 Chrome 释放更多潜力
  2. 将tomcat的session信息通过memcached实现共享
  3. T-SQL 控制流语句
  4. Eclipse搭建android环境及Genymotion模拟器安装问题解决方法
  5. WNEWS 专题系统
  6. 西门子rwd60参数设置调试手册_RWD60 RWD68 RWD62西门子温控器调试说明指导
  7. vue vue实例中的data与vue组件中的data()
  8. How MapReduce Works
  9. Julia : DataFrame常见用法
  10. cdr怎么转换成psd转换为位图标准_CorelDRAW矢量图怎么转位图?
  11. linux 监控平台介绍
  12. python浙江医院抢号_医院挂号难?抢号秘籍看这里!
  13. 准备启动一个开源项目 - 技术族谱 - 先期利用Goolge云计算平台
  14. 路由器交换机升级操作系统(导IOS)
  15. 人立方六度搜索的界面设计的来龙去脉
  16. 吉林大学珠海学院论坛 http://j.bnubbs.cn
  17. Vscode的相对路径读取问题及处理
  18. 转:DirectX8.0初体验, 有点老,但写的挺好
  19. FAT16和FAT32目录结构分析
  20. 基于FFMpeg实现音频mp3/aac/wav解码

热门文章

  1. 易语言POST专题-GET POST 区别详解
  2. 【Nginx】Nginx 1.22.0最新稳定正式版发布
  3. Java https服务器证书认证问题解决方案
  4. 记录一次成都阿里一面的经历
  5. ubuntu pycharm卡住的解决办法
  6. 湖南中创教育PMP 七个项目管理思维帮助你轻松带好项目
  7. 网络安全技术第七章——防火墙技术概述及应用(包过滤防火墙 、代理防火墙、状态检测防火墙、分布式防火墙)
  8. MATLAB矩阵求逆剖析
  9. 卫生间墙面防发霉起皮
  10. 工作站和台式机的区别。