如果希望获得两个数中最大的一个,可以使用 if 语句,例如:

if(a>b){max = a;
}else{max = b;
}

不过,C语言提供了一种更加简单的方法,叫做条件运算符,语法格式为:

表达式1 ? 表达式2 : 表达式3

条件运算符是C语言中唯一的一个三目运算符,其求值规则为:如果表达式1的值为真,则以表达式2 的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。

上面的 if else 语句等价于:

max = (a>b) ? a : b;

该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
我们可以认为条件运算符是一种简写的 if else,完全可以用 if else 来替换。

使用条件表达式时,还应注意以下几点:
1 . 条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。因此

max=(a>b) ? a : b;

可以去掉括号而写为

max=a>b ? a : b;

2 . 条件运算符?和:是一对运算符,不能分开单独使用。

3 . 条件运算符的结合方向是自右至左。例如:

a>b ? a : c>d ? c : d;

应理解为:

a>b ? a : ( c>d ? c : d );

这也就是条件表达式嵌套的情形,即其中的表达式又是一个条件表达式。

用条件表达式重新编程,输出两个数中的最大值:

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

运行结果:

Input two numbers:23 45
max=45

如果感觉不错的话记得点赞哟!!!

C语言条件运算符详解相关推荐

  1. python语言编程基础-Python语言入门详解!快速学成Python!

    原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...

  2. python语言入门m-Python语言入门详解!快速学成Python!

    今日主题 "Python语言入门详解" 近两年来,Python语言借着数据科学和人工智能的"东风"成为了最流行的编程语言--街头巷尾人们口口相传.同时,Pyth ...

  3. C语言之详解#ifdef等宏

    C语言之详解#ifdef等宏 这几个宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是&qu ...

  4. c语言 宏教程 pdf,C语言之详解_ifdef等宏.pdf

    C 语言之详解 #ifdef 等宏 指令用途 #空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 ...

  5. 代码检查规则:Python语言案例详解

    在之前的文章中代码检查规则:Java语言案例详解学习了Java的检查规则.我们今天将学习<代码检查规则:Python语言案例详解>,内容主要分为两个部分:Python的代码检查规则和Pyt ...

  6. 代码检查规则:Java语言案例详解

    本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...

  7. Linux_arm_启动_c语言部分详解,[原创]Linux arm 启动 c语言部分详解第四讲

    Linux arm启动c语言部分详解第四讲(from setup_per_cpu_areas();) Written by leeming 上面的setup_arch花了我们大量的篇幅,现在我们要继续 ...

  8. c 语言中 %是什么运算符,C 语言基础----详解C中的运算符

    C语言中又有哪些运算符呢? 如下所示: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 C语言基本算术运算符如下表: 除法运算中注意: 如果相除的两个数都是整数的话,则 ...

  9. python切片输出_Python语言之详解切片

    本篇文章主要讲述Python语言之详解切片,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 切片操作就是对list,元组,字符串进行截取操作有了切片操作,很多地方循环就不再需要了 ...

  10. c语言的指针详解ppt,最全的C语言指针详解.ppt

    最全的C语言指针详解.ppt 第6章 指针,6.1 指针定义与使用 6.2 指针与函数 6.3 指针与数组 6.4 指针与字符串 6.5 指针数组与多级指针 6.6 指针与动态内存分配 6.7 指针的 ...

最新文章

  1. 关于计算机组装的作文,电脑小白组装电脑,能写出这样的配置,在下佩服!
  2. [Spring]01_环境配置
  3. 【Java】五种常见排序之-----------冒泡排序
  4. WinForm - 两个窗体之间的方法调用
  5. Nginx的安装(笔记)
  6. 繁体简体转换器 v 1.0
  7. 在WPF TreeView中使用复选框
  8. 有道云笔记快捷键使用
  9. vue 引入外部less_Vue项目中引入外部文件的方法(css、js、less)
  10. Scala编程指南——用更少的字做更多的事
  11. 【JxBrowser分享】Java程序内嵌Chromium浏览器内核更新,支持Java17
  12. 《Qt图形界面编程入门》实验
  13. CMOS集成电路设计基础(孙肖子版)第二章课后答案
  14. uw计算机专业大一课程,大一新生选课攻略和你不能错过的小技巧
  15. Java基础系列-《流程控制--循环结构》
  16. 程序化交易逆境中的奋斗史!
  17. excel 删除重复行数据,列数据
  18. 作为一名iOS开发者—面对音视频这个新风口应该怎样学习才能乘风而起?
  19. ics计算机基础,南大计算机系统基础实验 ics2020,pa0
  20. 医疗行业大数据应用的三个案例

热门文章

  1. java去处科学技术法,java撤销科学计数法
  2. Android OpenGL探索之纯色背景绘制
  3. UReport2——一款报表引擎,提供基于网页的报表设计器
  4. Nero 2014 Platinum 白金版 V 15.0.02200 官方版
  5. 免费下载 [discuz!插件] 404页死链优化SEO V2.6
  6. S7Comm Plus 协议研究
  7. thinkphp下载MP4视频
  8. 微信逆向分析(一)——逆向分析的原理
  9. pytest -------- 生成测试报告+ 定制报告(allure生成报告)测试报告生成工具Allure 集成到pytest中【十三】
  10. 完美解决onenote同步速度慢(修改hosts文件)以及如何取得文件修改权限