首页 理论教育 C51单片机条件运算符和条件表达式

C51单片机条件运算符和条件表达式

时间:2023-11-17 理论教育 版权反馈
【摘要】:由条件运算符组成条件表达式的一般形式为表达式1?使用条件表达式时,还应注意以下几点:1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此可以去掉括号而等价为2)条件运算符“?”3)条件运算符的结合方向是自右向左的。例如:等价为它类似于if语句的嵌套使用,这也就是条件表达式嵌套的情形,即其中的表达式3又是1个条件表达式。

C51单片机条件运算符和条件表达式

如果在条件语句中,只执行单个的赋值语句时,常可使用条件表达式来实现。不但使程序简洁,也提高了运行效率

C语言中有一个三目运算符,它就是“?:”条件运算符,它要求有3个运算对象。它可以把3个表达式连接构成1个条件表达式。

由条件运算符组成条件表达式的一般形式为

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

其求值规则为:当逻辑表达式的值为真时(非0值)时,整个表达式的值为表达式2的值;当逻辑表达式的值为假(值为0)时,整个表达式的值为表达式3的值。要注意的是条件表达式中逻辑表达式的类型可以与表达式2和表达式3的类型不一样。

条件表达式通常用于赋值语句之中。

例如条件语句:

可用条件表达式简写为

执行该语句的语义是:如x<y为真,则把x赋予变量min,否则就把y赋给min。

很明显这样写的结果和含义都和上面的一段程序是一样的,但是代码却比上一段程序要少很多,编译的效率相对来说也就高些,但有着和复合赋值表达式一样的缺点,就是可读性相对较差。在实际应用时要根据自己习惯来使用,这样可以有助于程序的调试和编写,也便于程序日后的修改与更新。

使用条件表达式时,还应注意以下几点:(www.xing528.com)

1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。

因此

可以去掉括号而等价为

2)条件运算符“?”和“:”是一个整体,即一个运算符,我们不能将其分开单独使用。

3)条件运算符的结合方向是自右向左的。

例如:

等价为

它类似于if语句的嵌套使用,这也就是条件表达式嵌套的情形,即其中的表达式3又是

1个条件表达式。

【例4-6】输入一个字符。判别它是否大写字母,如果是,将其转换为小写,否则不转换。然后输出最后得到的字符。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈