1、意思:是条件运算符,条件运算符是C语言中唯一的三目运算符,就是说他有三个运算对象。
2、条件运算符的形式是“?:”由他构成的表达式称为条件表达式。形式为:表达式1?表达式2:表达式3。
运算符
表达式为:表达式1?表达式2:表达式3
先求解表达式1
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
例如:max=(a>b)?a:b
就是将a和b二者中较大的一个赋给max。
以上内容参考:百度百科-条件运算符
?在语言中表示疑问,那么疑问来自于判断。
:在语言中表示判断的结果选择。
所以编程逻辑就是先进行判断,然后再进行选择。
例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
扩展资料:
C语言运算符号:
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。
因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
关系运算符号 :== 、!=
这两个符号可以连成一个三目运算符,可以用于比较两个数的大小。如(a>b)?a:b表示若a比b大,则选a,否则选b
这是C语言的条件表达式
比如
max=(a>b)?a:b
相当于
if(a>b)max=a;
else max=b;
如c=a>b?a:b;
表示如果a>b成立,则c=a;
如果a>b不成立,则c=b;