关系运算符和关系表达式
注意:
- 关系运算符都是双目运算符,结合方向是左结合
- 关系运算符优先级等于算术运算符,但高于赋值运算符(=)
- >、<、>=、<=的优先级相同,优先级高于 ==、!= 。==、!=优先级相同
关系表达式
格式: 表达式1 关系运算符 表达式2
功能:比较两个表达式的大小,返回一个逻辑值(0或1)
逻辑运算符和逻辑表达式
逻辑运算符
逻辑非:! 右结合
逻辑与:&& 左结合
逻辑或:|| 左结合
优先级:从上到下依次降低
逻辑表达式
格式:表达式1 逻辑运算符 表达式2
结果:0或1
C语言的逻辑值只有0和1,比如 !0=1 !1=0 !5=0 即C语言逻辑运算前只有0和非0,运算后的结果只有0和1,0为假,1为真。运算标准和数学相同
注意:
①若"&&"左边的表达式为假,则可以得出整个表达式的值为假,那么"&&"右边的表达式不再进行计算。
②若"||"左边的表达式为真,则可以得出整个表达式的值为真,那么"||"右边的表达式不再进行计算。
条件运算符和条件表达式
条件运算符
由"?"和":"两个符号组成,是一个三目运算符,需要三个操作数。是右结合的。
条件表达式
格式:表达式1?表达式2:表达式3;
执行顺序:先计算表达式1的值,若值为1,表示条件为真,则只计算表达式2,并将结果作为整个条件表达式的值。否则只计算表达式3,并将结果作为整个条件表达式的值。
//举例inta ,b; a=5; b=6; a>b?a=7:b=5;
将5赋值给a,6赋值给b,如果a>b。则把7赋值给a,否则把5赋值给b。
各种运算符优先级排序
从上到下依次降低
!
算术运算符
关系运算符
&&
||
条件运算符
赋值运算符
以上运算符只有!、条件运算符,赋值运算符是右结合,其他都是左结合