条件运算符(conditional operator)有时候也称为三元运算符(ternary operator,或者trinary operator),因为它是唯一需要 3 个操作数的运算符,条件表达式的一般形式为:
条件运算操作会首先计算条件,然后根据条件的计算结果,再决定要计算两个表达式中的哪一个。条件表达式通常用于赋值语句之中。 其求值规则为: 如果条件表达式为真,整个表达式的值为表达式1的值; 如果条件表达式为假,整个表达式的值为表达式2的值。 条件运算符代表了在程序流中的条件式跳转,因此,有时候可以与 if-else 语句相互替代。 比如:如果我们希望获得两个数中最大的一个,我们可以使用if语句:
上面所描述的if else语句等价于:
该语句的语义是:如a>b为真,则把a赋予max,否则把b赋予max。大家可以认为条件运算符是一种简写的if else,完全可以用if else来替换。 如果你正在学习C/C++遇到瓶颈,迷茫,困惑,那么不妨加入C语言C++学习企鹅圈,跟着前辈一起交流学习,还有一些(源码、项目实战视频、项目笔记,基础入门教程)分享哟!即使是零基础的学习者,都可以一起成长进步。 另外我们使用条件表达式时,还应注意以下几点: ①条件运算符的优先级低于关系运算符和算术运算符,但高于赋值符。因此
可以去掉括号而写为
②条件运算符?和:是一对运算符,不能分开单独使用。 ③条件运算符的结合方向是自右至左。比如:
应理解为:
这也就是条件表达式嵌套的情形,即其中的表达式又是一个条件表达式。 用条件表达式重新编程,输出两个数中的最大值:
运行结果:
今天C语言中的条件运算符知识就分享到这里啦,希望对大家学习C语言能起到一定的帮助作用。
|
|