C/C++条件表达式使用三目运算符 ?:完成,适当条件下可与 if else 语句相互替换。
条件表达式优点在于可直接返回表达式运算的结果。

条件表达式的使用分为三个部分,示例如下:

c ? a : b;

其中 c 为判断条件,a,b 可为具体的值或是算式。
表达式先对 c 进行判断,若 c 的判断结果不为 0 (或 true),返回 a 的值或运算结果;若 c 的判断结果为 0 (或 false),则返回 b 的值或运算结果。如下:

a,b 为具体数值:

a > b ? a : b;

a,b 为算式:

a > b ? (a - b) : (b - a);

示例程序:
求两个数中的最大值:

#include <stdio.h>int main() {int a, b, max;scanf("%d%d", &a, &b);max = a > b ? a : b;printf("%d", max);return 0;
}

等同于

#include <stdio.h>int main() {int a, b, max;scanf("%d%d", &a, &b);if (a > b) {max = a;   } else {max = b;   }printf("%d", max);return 0;
}

示例程序:
求两个数的差,结果总是为大的数减去小的数

#include <stdio.h>int main() {int a, b, res;scanf("%d%d", &a, &b);res = a > b ? (a - b) : (b - a);printf("%d", res);return 0;
}

等同于

#include <stdio.h>int main() {int a, b, res;scanf("%d%d", &a, &b);if (a > b) {res = a - b;} else {res = b - a;}printf("%d", res);return 0;
}

我们还可以将表达式直接输出或者将其作为函数返回值。

直接输出表达式:

#include <stdio.h>int main() {int a, b;scanf("%d%d", &a, &b);printf("%d", a > b ? a : b);return 0;
}

表达式作为函数返回值:

#include <stdio.h>int getMax(int a, int b) {return a > b ? a : b;
} int main() {int a, b, max;scanf("%d%d", &a, &b);max = getMax(a, b);printf("%d", max);return 0;
}

毕。

C/C++条件表达式相关推荐

  1. 2021年大数据常用语言Scala(七):基础语法学习 条件表达式

    条件表达式 条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作.scala条件表达式的语法和Java一样. 有返回值的if 与Java不一样的是 ...

  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. django 1.8 官方文档翻译:2-5-9 条件表达式

    条件表达式 New in Django 1.8. 条件表达式允许你在过滤器.注解.聚合和更新操作中使用 if ... elif ... else的逻辑.条件表达式为表中的每一行计算一系列的条件,并且返 ...

  5. shell中的条件表达式

    条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] [[expression]] test expression 这三种条件表达式的效果是一样的 比较符 整数比 ...

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

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

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

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

  8. python条件表达式有哪几个_python条件表达式:多项分支,双向分支

    # ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...

  9. 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)

    以多态取代条件表达式(Replace Conditional with Polymorphism) 你手上有个条件表达式,它根据对象类型的不同而选择不同的行为:将这个条件表达式的每个分支放进一个子类内 ...

  10. 重构-改善既有代码的设计:简化条件表达式(七)

    简化条件表达式 1.Decompose Conditional 分解条件表达式 你有一个复杂的条件语句.从if.then.else三个段落中分别提炼出独立函数. 程序之中,复杂的条件逻辑是最常导致复杂 ...

最新文章

  1. hdu1280 前m大的数(数组下标排序)
  2. 【企业管理】摆脱三个依赖
  3. ABAP和Java的destination和JNDI
  4. Linux Hackers/Suspicious Account Detection
  5. 微信小程序WXML语法介绍
  6. Python入门--字典生成式,生成字典的公式
  7. SpringMVC 刷课笔记
  8. SiteMesh3简介及使用
  9. mysql 分组求和_MySQL 分组最值、分组均值、分组求和
  10. cocos 微信登陆失败(笔记)
  11. fidder无法抓取浏览器Https,提示“证书错误”
  12. 什么是VBA编程语言?
  13. 安全港到隐私护盾!美欧个人数据跨境流动20年政策变迁
  14. 计算机专业考研2021,2021考研:计算机考研解析
  15. pyqt5实现一个简易音乐播放器(升级到v2版本)
  16. 【软考必读】软考高级证书对工作的6大帮助
  17. myeclipse 10.0下载及安装
  18. 斗地主老是输?Python教你做个自动出牌器,欢乐豆蹭蹭涨
  19. Mysql 报错Duplicate entry '值' for key '字段名'的解决
  20. 2021年江阴各高中高考成绩查询,2021年江阴高考体检指南

热门文章

  1. linux下ps anpt,Linux ps命令
  2. solor快速_Solr快速入门(一)
  3. linux系统的u盘安装方法,把linux系统装进u盘的两种方法(做一个口袋系统)
  4. 编程界“网络工程师”都用过的Python学习教程+PDF电子版曝光了
  5. SpringBoot与Shedule定时任务
  6. Rosetta 蛋白抗体设计有困难?小白速看
  7. pwm一个时间单位_脉冲的单位是什么
  8. float、double的有效位数
  9. 中北大学微型计算机原理,中北大学 微机原理习题及其答案
  10. 重邮和南邮计算机考研哪个好,21考研通信工程:天工大与重邮哪所好?前者层次高,后者专业强!...