首页 > IT职业 > IT职场 > 物联网学习教程——if语句2
接着上一篇继续:

3. 条件运算符
格式: 表达式1?表达式2∶表达式3
功能: 判断表达式1 的值,如果成立就执行表
达式2 ,否则就执行表达式 3
使用场合:若在if语句中,当被判别的表达式的
值为“真”或“假” 时,都执行一个赋值语
句且向同一个变量赋值时,可以用一个
条件运算符来处理。
例:
if (a>b) max= a;
else max=b;
当a>b 时将 a 的值赋给 max ,当 a ≤ b 时将 b 的值赋给 max ,
可以看到无论a>b 是否满足,都是向同一个变量赋值。
可以用下面的条件运算符来处理:
max=(a>b)?a∶b;
说明:
(1) 条件运算符的执行顺序:先求解表达式1,若为非0(真)
则求解表达式2,此时表达式2的值就作为整个条件表达式
的值。若表达式1的值为0(假),则求解表达式3,表达
式3的值就是整个条件表达式的值。
(2) 条件运算符优先级高于赋值运算符 ,低于关系运算符
和算术运算符。
(3) 条件运算符的结合方向为“自右至左”。
(4) “表达式 2 ”和“表达式 3 ”不仅可以是数值表达式,还可以
是赋值表达式或函数表达式。
(5) 条件表达式中,表达式1的类型可以与表达式2和表达
式3的类型不同。
例:
输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。
#include <stdio.h>
void main ( )
{ char ch;
scanf("%c",& ch);
ch=(ch>='A'&& ch<='Z')?(ch+32):ch;
(
如果字符变量ch
的值为大写字母,则条件表达式的值为(ch+32),即相应的小写字母。如果
ch
的值不是大写字母,则条件表达式的值为ch,即不进行转换。
)
printf("%c\n",ch);
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2656487/ ,如需转载,请注明出处,否则将追究法律责任。