关系运算符是一种逻辑关系运算符,一般用于数值的比较,和我们学习数学时候的大小比较一样,一般两个数值的关系有那么6种:1、等于;2、不等于;3、大于;4、小于;5、大于等于、6小于等于。而这些数值关系比较的结果只有两种,第一种为成立,例如4>1这个条件是成立的,即为“真”,成立之后,整个关系运算式输出非0;而如果1>4这个条件是不成立的,即为“假“,不成立之后,整个关系运算式输出0。图3-7-7表显示了 C 语言支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:由于C语言里面没有专门表示布尔(BOOL)数据的类型,因此对于这种逻辑关系的运算符,0表示为“假“(False),非0表示为”真“(True)。如图3-7-8中的代码。代码中有一句语句“comp_rult1 = comp_a > comp_b;”这是一句比较复杂的语句,它的意思是将两个数进行关系比较,将比较结果赋值给comp_rult1变量。逻辑运算符也是一种逻辑运算的操作符,它的输出结果和前面的关系运算符一样,当逻辑关系成立时,逻辑运算结果为真,其输出为非0;当逻辑关系不成立时,逻辑运算结果为假,其输出为0。图3-7-9显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:“&&”符号被称为逻辑与运算符,“||”符号被称为逻辑或运算符其使用形式为:表达式1(变量1)&& 表达式2(变量2)…… &&表达式n(变量n)表达式1(变量1)|| 表达式2(变量2)…… ||表达式n(变量n)注意,这两个运算符的左右两边除了变量之外,还可以是表达式,如关系运算符表达式。如图3-7-10所示。“!”符号表示非操作,即如果一个变量或者表达式的输出为非0,那么非操作之后就为0,如果一个变量或者表达式的输出为0,那么非操作之后就为非0。
4. 位运算符
位操作,顾名思义就是对一个变量按照其数据内部的每一位进行操作,位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表如如图3-7-11所示。
图3-7-11 逻辑运算真值表
假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:
A= 0011 1100
B= 0000 1101
-----------------
A&B= 0000 1100
A|B= 0011 1101
A^B= 0011 0001
~A = 1100 0011
下表显示了 C 语言支持的位运算符。假设变量 A 的值为 60,变量 B 的值为 13,则其运算结果如图3-7-12所示。
图3-7-12 位操作符
位操作符的代码如图3-7-13所示。
图3-7-13 位操作符