学科分类
目录
C语言

条件运算符

在编写程序时往往会遇到条件判断,例如判断a>b,当a>b成立时执行某一个操作,当a>b不成立时执行另一个操作,这种情况下就需要用到条件运算符,C语言提供了一个条件运算符:?:,其语法格式如下所示:

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

上述表达式由条件运算符连接起来,称为条件表达式。在条件表达式中,先计算表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个条件表达式的取值。

条件表达式就是对条件进行判断,根据条件判断结果执行不同的操作,示例代码如下所示:

int a = 6, b = 3;
a > b ? a * b : a + b; //条件表达式

上述条件表达式中,判断a>b是否为真,若为真,则执行ab操作,将其结果作为整个条件表达式的结果,ab结果为18,因此,条件表达式结果为18。

由于需要三个表达式(数据)参与运算,条件运算符又称为三目运算符。

注意:

1、 条件运算符“?”和“:”是一对运算符,不能分开单独使用。

2、 条件运算符的优先级低于关系运算符与算术运算符,但高于赋值运算符。

3、条件运算符可以进行嵌套,结合方向自右向左。例如a>b?a:c>d?c:d应该理解为a>b?a:(c>d?c:d),这也是条件运算符的嵌套情形,即其中的表达式3又是一个条件表达式。*

点击此处
隐藏目录