关系操作符和逻辑操作符 的对象:算术和指针类型的操作数
返回值:bool 类型
逻辑操作符:
&& :逻辑与 首先对操作数求值,若结果是0,则条件是false,否则是true;
当且仅当&&逻辑与的两个操作数都是true,其表达式结果才是true。
AND 先计算左操作数,再右
很重要的用法:if(express1 && express2)
//如果边界条件使得express2的计算变得危险,则应该在危险出现之前就让express1的值为false;
|| :逻辑或 只要两个操作数之一代表的条件为true,其表达式的结果就是true。
OR 先计算左操作数,再右
! :逻辑非 产生与其操作数值相反的条件值。
关系操作符:
< <= > >=
注意:不应该串接使用关系操作符
ey: if(i<j<k) //写法是正确的,表达式也是正确的,但是结果不是我们想表达的意思。
因为,i<j 得到的结果只能是1或者0,所以只要k大于1,不管i,j为何值,表达式的条件都为真。
Re:if(i<j && j<k)
== 相等
!= 不相等
注意:
if(value) //隐式写法
if(value==true) //显示写法
尽量用显示写法,因为value只要是任意非零正数,则if(value)都是真,这将导致如果value不是bool类型,或者value不可以转换为bool类型的数据类型时,结果就不是我们想要的了。
ps:
上面的结论若有错误的地方欢迎邮箱联系,wusheng221@163.com,谢谢。