C/C++条件表达式
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++条件表达式相关推荐
- 2021年大数据常用语言Scala(七):基础语法学习 条件表达式
条件表达式 条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作.scala条件表达式的语法和Java一样. 有返回值的if 与Java不一样的是 ...
- 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...
- JAVA条件表达式的陷阱
Map<String, Integer> map = new HashMap<String, Integer>(); map.put("count", n ...
- django 1.8 官方文档翻译:2-5-9 条件表达式
条件表达式 New in Django 1.8. 条件表达式允许你在过滤器.注解.聚合和更新操作中使用 if ... elif ... else的逻辑.条件表达式为表中的每一行计算一系列的条件,并且返 ...
- shell中的条件表达式
条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] [[expression]] test expression 这三种条件表达式的效果是一样的 比较符 整数比 ...
- 【C语言探索之旅】 第一部分第六课:条件表达式
内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...
- python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...
python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...
- python条件表达式有哪几个_python条件表达式:多项分支,双向分支
# ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...
- 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)
以多态取代条件表达式(Replace Conditional with Polymorphism) 你手上有个条件表达式,它根据对象类型的不同而选择不同的行为:将这个条件表达式的每个分支放进一个子类内 ...
- 重构-改善既有代码的设计:简化条件表达式(七)
简化条件表达式 1.Decompose Conditional 分解条件表达式 你有一个复杂的条件语句.从if.then.else三个段落中分别提炼出独立函数. 程序之中,复杂的条件逻辑是最常导致复杂 ...
最新文章
- hdu1280 前m大的数(数组下标排序)
- 【企业管理】摆脱三个依赖
- ABAP和Java的destination和JNDI
- Linux Hackers/Suspicious Account Detection
- 微信小程序WXML语法介绍
- Python入门--字典生成式,生成字典的公式
- SpringMVC 刷课笔记
- SiteMesh3简介及使用
- mysql 分组求和_MySQL 分组最值、分组均值、分组求和
- cocos 微信登陆失败(笔记)
- fidder无法抓取浏览器Https,提示“证书错误”
- 什么是VBA编程语言?
- 安全港到隐私护盾!美欧个人数据跨境流动20年政策变迁
- 计算机专业考研2021,2021考研:计算机考研解析
- pyqt5实现一个简易音乐播放器(升级到v2版本)
- 【软考必读】软考高级证书对工作的6大帮助
- myeclipse 10.0下载及安装
- 斗地主老是输?Python教你做个自动出牌器,欢乐豆蹭蹭涨
- Mysql 报错Duplicate entry '值' for key '字段名'的解决
- 2021年江阴各高中高考成绩查询,2021年江阴高考体检指南
热门文章
- linux下ps anpt,Linux ps命令
- solor快速_Solr快速入门(一)
- linux系统的u盘安装方法,把linux系统装进u盘的两种方法(做一个口袋系统)
- 编程界“网络工程师”都用过的Python学习教程+PDF电子版曝光了
- SpringBoot与Shedule定时任务
- Rosetta 蛋白抗体设计有困难?小白速看
- pwm一个时间单位_脉冲的单位是什么
- float、double的有效位数
- 中北大学微型计算机原理,中北大学 微机原理习题及其答案
- 重邮和南邮计算机考研哪个好,21考研通信工程:天工大与重邮哪所好?前者层次高,后者专业强!...