vlambda博客
学习文章列表

(运算符)乐创DIY C语言讲义​——3.7节(2)

2.    关系运算符
关系运算符是一种逻辑关系运算符,一般用于数值的比较,和我们学习数学时候的大小比较一样,一般两个数值的关系有那么6种:1、等于;2、不等于;3、大于;4、小于;5、大于等于、6小于等于。而这些数值关系比较的结果只有两种,第一种为成立,例如4>1这个条件是成立的,即为“真”,成立之后,整个关系运算式输出非0;而如果1>4这个条件是不成立的,即为“假“,不成立之后,整个关系运算式输出0。图3-7-7表显示了 C 语言支持 的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
                           
图3-7-7 关系运算符

由于C语言里面没有专门表示布尔(BOOL)数据的类型,因此对于这种逻辑关系的运算符,0表示为“假“(False),非0表示为”真“(True)。如图3-7-8中的代码。

(运算符)乐创DIY C语言讲义​——3.7节(2)

图3-7-8 关系运算符

代码中有一句语句“comp_rult1 = comp_a > comp_b;”这是一句比较复杂的语句,它的意思是将两个数进行关系比较,将比较结果赋值给comp_rult1变量。
 
3.    逻辑运算符
逻辑运算符也是一种逻辑运算的操作符,它的输出结果和前面的关系运算符一样,当逻辑关系成立时,逻辑运算结果为真,其输出为非0;当逻辑关系不成立时,逻辑运算结果为假,其输出为0。
图3-7-9显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:

(运算符)乐创DIY C语言讲义​——3.7节(2)

图3-7-9 逻辑运算符

“&&”符号被称为逻辑与运算符,“||”符号被称为逻辑或运算符其使用形式为:
表达式1(变量1)&& 表达式2(变量2)…… &&表达式n(变量n)
表达式1(变量1)|| 表达式2(变量2)…… ||表达式n(变量n)
注意,这两个运算符的左右两边除了变量之外,还可以是表达式,如关系运算符表达式。如图3-7-10所示。

(运算符)乐创DIY C语言讲义​——3.7节(2)

图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所示


(运算符)乐创DIY C语言讲义​——3.7节(2)


图3-7-12 位操作符


位操作符的代码如图3-7-13所示。

                           

图3-7-13 位操作符