关系逻辑与分支
真、假与取反运算
在计算机语言中,有很多语言用特殊的数据或者表示方法来标记“真”与“假”(“是”与“非”)。在C语言中,直接用“0”表示“假”(“非”),“1”表示“真”(“是”),非常的方便直观。在C语言中,还有一个单目的取反运算符(Logical negation operator)!
。与常识真的反面是假,假的反面是真一样,我们对0取反是1,对1取反是0。
相等性关系与不等性关系
在C语言中有相等性关系运算符(equal-to operator)==
,它由两个等于号组成。同样,C语言中还有一个不等性关系运算符(not-equal-to operator)!=
,它由一个取反运算符和一个等于号构成。相等性关系运算符==
和不等性关系运算符!=
,都是双目运算符。==
用来判断左值与右值是否相等,而!=
用来判断运算的左值与右值是否不相等。它们运算得到的结果都是1或者0用来说明关系运算的结果是真是假。举个例子:
2==
2和3!=
4的运算结果都是1(表示关系运算为真),而2!=
2和3==
4的运算结果为0(表示关系运算为假)。
注意:要区分相等性关系运算符和赋值运算符,相等性关系运算符是两个等号,赋值运算符是一个等号。
其他关系运算
在C语言中,除了有相等性关系运算符和不相等性关系运算符之外,我们还有大于等于关系运算符(greater-than or equal-to operator)>=
,用来判断左值大于等于右值,举个例子,8>=
8的结果逻辑值是1,这个表达式为“真”(true),而1>=2
的结果逻辑值为0,这个表达式为“假”(false)、小于等于关系运算符(less-than or equal-to operator)<=
,用来判断左值小于等于右值,举个例子8<=
8的结果逻辑值是1,这个表达式为“真”(true),而2<=
1的结果逻辑值为0,这个表达式就是“假”(false)的、大于关系运算符(greater-than operator)用来判断左值大于右值,举个例子,9>
8的结果逻辑值为1,这个表达式是“真”(true)的,而5>
6的结果逻辑值是0,这个表达式为“假”(false)、小于关系运算符(less-than operator)<
,用来判断左值小于右值,举个例子,1<
2的结果逻辑是1,这个表达式为“真”(true),6<
5的结果逻辑值为0,这个表达式是“假”(false)。
注意:大于等于和小于等于表示的是,大于或等于和小于或等于,而不是大于且等于与小于且等于。也就是说,左右值相等时,其逻辑值也是1。注意区分!