位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 逻辑运算符

提问人:刘团圆发布时间:2020-11-28

C语言提供了以下三种逻辑运算符。

© ! : 逻辑非 

© && : 逻辑与 

© || : 逻辑或

C语言中参与逻辑运算的操作数可以是字符型、整型、浮点型等数据类型。

(1)逻辑非(!)

逻辑非是单目运算,表示对操作数取反,当操作数为0,取反后表达式的值为1;当操作数非0,表达式的值为1。例如:

    int a=2,b=5;

    ! a  (对a取反,a值为2,代表真,取反后结果为0)

    ! (a+3>b)(先算a+3>b,值为1,对0取反后为1)

(2)逻辑与(&&)

逻辑与是双目运算,当逻辑与运算符两边的操作数都为真,结果才为真。逻辑与运算的执行类似于图中图a所示的串联电路,假设开关闭合状态代表“真”,断开状态代表“假”;将灯泡亮的状态代表“真”,灭的状态代表“假”,那么只有当K1、K2开关全部闭合(真),灯泡P才会亮(真),其他情况灯泡都不会亮。逻辑与的真值表见表所示。

    例如:

    int a=3,b=0,c,d;

    c=a&&b;

    d=a&&b+l;

    c的值为假“0”,而d的值为真“1”,因为算术运算的优先级高于逻辑运算,所以先算b+1,再计算逻辑与操作。

d

b

!d

d&&b

allb

0

1

1

0

1

0

0

1

0

0

1

1

0

1

1

1

0

0

0

1

★表中值为“a”用1表示,值为“假B用o表示

(3)逻辑或(||)

逻辑或也是双目运算。参加逻辑或运算的两个操作数只要有一个为真,结果就为真;两个操作数均为假的时候,结果才为假。逻辑或的执行类似于图中图b所显示的并联电路,只要两个开关K1、K2有一个闭合(真),灯泡P就会亮(真)。逻辑或的真值表见表4所示。

   例如:

    int a=3,b=5,c,d;

    c=a||b;

    d=a-3||b-5;

    c的值为1,因为操作数a、b都为真。而d的值为0,因为算术运算符的优先级高于逻辑运算,先算a-3、b-5,值均为零。所以结果为0。


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部