Dotcpp  >  编程教程  >  C语言运算符和表达式  >  C语言?:条件运算符实例讲解

C语言?:条件运算符实例讲解

点击打开在线编译器,边学边练

下面给大家介绍一个三目运算符,即?:


首先介绍一个概念,所谓的“”是指这个运算符参与运算的对象个数

比如前面我们介绍了+、-、*、\等等运算符,这些需要两个数或者变量运算,所以就属于双目运算符;而++和--一个对象就可以组合,这种就是单目运算符,很好理解,那么今天所提到的三目,当然就是有三个对象参与运算了!这可是C语言当中唯一一个三目运算符,它就是选择运算符


它的一般形式是通过?和:两个符号组合而成的,一般形式如下:

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


这什么意思呢?首先计算表达式1的值,看看是真还是假,也就是成立还是不成立,如果表达式1成立,那么这个三目运算符整体的值就是表达式2的值,否则(也就是表达式1不成立),这个三目运算符整体的值就是表达式3的值。怎么样,看明白了吗?


下面举个例子说明一下:

2>1?10:20

这个表达式整体的值是几呢?答案应该是10,因为2>1成立,因此它的值就是表达式2的值,也就是10。


再比如:

int a=3,b=5;
int c=10;
c?:(a+b):(a-b)

这个表达式的值呢?大家先算算,应该是8,为什么呢?因为表达式1也就是c的值(10)为真,所以就是表达式2的值也就是a+b就是8。这下大家明白了吧!


这就是三目运算符的用法,大家可以理解一下!


其实本质上是一种选择结构,根据表达式1的成立与否,决定是表达式2还是表达式3,大家理解一下然后上机实验一下!



本文固定URL:https://www.dotcpp.com/course/356

C语言教程
第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)