运算符分为单目,双目和三目,单目操作符,就是运算符的操作数的个数只有一个操作数,双目有两个操作数,3 +1,3-1,三目则有三个操作数,比如条件操作符。
(双目操作符)关系操作符 比如: <=
0为假,非0为真 ,为假则=0,为真则=1 比如|18<=age<=40 ,age=10,则18<= 10为假,从右向左运算,0<=40是对的,则表达式结果为1。
条件操作符也叫三目操作符,形下…………… a= (exp1 ? exp2 : exp3)
exp1结果为真,执行exp2,exp2是整个表达式的结果。 exp1结果为假,执行exp3,exp3是整个表达式的结果。
逻辑操作符:&& || !
逻辑运算符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符。
!(单目): 逻辑取反运算符,结果只有是0或1
&&(双目): 与运算符,就是有并且的意思(两侧的表达式都为真,则为真,否则为假)。
II (双目):或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)。
注: C 语言中,非0表示真,0表示假
短路 于逻辑运算符,有这样一个特点,总是先对左侧的表达式求值,再对右边的表达式求值,如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值,这种情况称为短路。 对于&&操作符来说,左边操作数为0时,右边操作数就不再执行。对于||操作符来说,左操作数的结果不为0时,右边操作数就不会执行
逗号表达式 (有括号) 以最后一个表达式作为值
int x=(2,3,5,9);
printf(“%d”,x); 结果为9
区别于 int x=a++,b++,c
则x=a(因为该表达式没有括号)