1.2.5 条件运算符
条件表达式的基本格式为:
表达式1?表达式2:表达式3
连接三个表达式的“?”和“:”是一个整体,不能分开。
执行的顺序为:先求解表达式1,若表达式1为真,则求解表达式2,而表达式2的值就是整个条件表达式的值。若表达式1的值为假,则求解表达式3,而表达式3的值就是整个条件表达式的值。例如,“3>2?6:7”的执行顺序为:先判断3>2结果为真,那么表达式2的值就是整个条件表达式的结果,即“3<2?6:7”的结果就是6。
也可以将条件表达式的值赋值给某一变量,条件运算符优先于赋值运算符,并且条件运算符的结合方向为自右至左。例如,i=3>2?6:7也就是将“3>2?6:7”的结果赋值给变量i,即i=6。
注意:条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值运算符。因此,3>2是关系表达式,大于号优先级别高于条件运算符,因此不需要将3>2用括号括起来。
如果在表达式中出现多个条件运算符,则采用自右向左的结合方式。例如,“b>a?b:c>d?c:d”的执行的顺序应该是先求解“c>d?c:d”的结果,再将该结果作为第三个表达式,跟左边的部分构成新的条件表达式去求解,相当于“b>a?b:(c>d?c:d)”。
例1-5 编程实现如下要求:输入两个整数,输出其中较小的那个数。(https://www.daowen.com)
程序如下:
#inc lude stdio.h
void main()

例1-6 编程实现如下要求:任意输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母输出,如果不是,原样输出该字符。
分析:
大写字母A~Z的ASCII码为65~90,小写字母a~z的ASCII码为97~122,大写字母和对应的小写字母之间的ASCII码相差32。因此将小写字母转换成大写字母就是将小写字母的ASCII码值减去32。程序如下:
