理论教育 C语言程序设计教程:条件运算符表达式

C语言程序设计教程:条件运算符表达式

时间:2023-11-21 理论教育 版权反馈
【摘要】:此时可用条件运算符,此处的条件表达式可代替if语句。例题4.1和例题4.3可结合条件运算符来实现,如表4-4所示。表4-4if语句和条件运算符使用对比续表注:判断一个字母是否是大写字母,可以通过判断该字母是否介于'A'到'Z'之间,即是否满足逻辑表达式ch >='A' && ch <='Z'。

C语言程序设计教程:条件运算符表达式

在有些if语句中,当表达式值为0或非0时,均只执行一个赋值语句且向同一个变量赋值。此时可用条件运算符,此处的条件表达式可代替if语句。

条件运算符是两个符号(?和:)的组合,是C语言中唯一的三目运算符。条件表达式的一般形式为:

条件表达式的执行顺序:

(1)求解表达式1。

(2)若表达式1的值为非0,则求解表达式2,并将表达式2的值作为整个条件表达式的值。

(3)若表达式1的值为0,则求解表达式3,并将表达式3的值作为整个条件表达式的值。

说明:

(1)条件运算符优先级高于赋值、逗号运算符,低于其他运算符。例如:

1)m<n ? x : a+3 等价于(m<n) ?x : (a+3)

2)a ++>=10&&b-->20 ? a : b 等价于(a ++ >= 10 && b-->20) ?a:b(www.daowen.com)

3)x=3+a>5 ? 100 : 200 等价于x=( ( 3+a>5 ) ? 100 :200 )

(2)当一个表达式中出现多个条件运算符时,结合方向为自右至左,即应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。例如:

w <x ? x +w : x <y ? x : y 等价于w<x?x+w : ( x<y?x : y)

(3)“表达式2”和“表达式3”可以是数值表达式、赋值表达式或函数表达式。例题4.1和例题4.3可结合条件运算符来实现,如表4-4所示。

表4-4 if语句和条件运算符使用对比

续表

注:判断一个字母是否是大写字母,可以通过判断该字母是否介于'A'到'Z'之间,即是否满足逻辑表达式ch >='A' && ch <='Z'。大写字母转换成小写字母的方法,就是给该字母的ASCII值增32。

可见,条件表达式相当于一个不带关键字if的if语句,用它处理简单的选择结构可使程序更简洁。

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

我要反馈