C语言关系运算符与逻辑运算符
我们使用关系运算符来表示两个数的大小关系
常用的关系运算符有以下几种
“<” (小于)
“<=” (小于或等于)
“>” (大于)
“>=” (大于或等于)
“==” (等于)
前三个优先级相同(高)
后两个优先级相同(低)
BTW:单目运算符和双目运算符的区别?
单目运算符和双目运算符的区别只有一个,那就是操作数(变量或常量)数量的不同。
单目运算符只对一个操作数进行逻辑运算。
比如: num++(自增) , num–(自减) , !num(取非值) , ~num(按位取反)
双目运算符只对两个操作数进行逻辑运算。
比如: num1 + num2 , num1 - num2 , num1 > num2
除了单目和双目运算符,还有一个三目运算符。
三目运算符就是对三个操作数进行逻辑运算。目前三目运算符只有一个:num1 = num1 > 3 ? 1 : 2
这段程序的意思是:如果变量num1的值,大于3,那么 变量num1的值就变为1,否则num1的值就
变为2
关系表达式
用关系运算符讲两边的变量,常量,数据或表达式连接起来,称之为关系表达式
输出值为布尔类型,1/0,1(真)0(假)
逻辑表达式
用逻辑运算符将数据变量常量连接起来,称之为逻辑表达式
短路求值
逻辑与 &&
&& 操作符的左操作数总是首先进行求值, 如果它的值为真, 则继续计算右操作数的值, 然后执行与操作得到表达式结果; 如果它的值为假, 根据与操作 有假则假 的性质可以断定该表达式的值为假, 所以不再计算右操作数的值.
逻辑或 ||
|| 操作符的左操作数也是首先进行求值, 如果它的值为假, 则继续计算右操作数的值, 然后执行与操作得到表达式结果; 如果它的值为真, 根据或操作 有真则真 的性质可以断定该表达式的值为真, 所以不再计算右操作数的值.