C语言中的 与或非运算

Python022

C语言中的 与或非运算,第1张

C语言中的与、或、非是C语言的逻辑运算符

1、逻辑与

在C语言中逻辑与用&&表示。

举例:a&&b(其中a、b都代表一个条件)

如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。

2、逻辑或

在C语言中逻辑或用||表示。

举例:a||b(其中a、b都代表一个条件)

如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。

3、逻辑非

在C语言中逻辑非用!表示。

举例:!a(a代表一个条件)

如果a为假,则!a为真,如果a为真,则!a为假。

扩展资料

在C 语言中的逻辑运算符及优先级:

一元:!(逻辑非)。

二元:&&(逻辑与)、||(逻辑或)。

以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 &&次之,逻辑或  ||  优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:

逻辑非 ! >算术 >逻辑与 &&、逻辑或 || >赋值=

C语言逻辑或与非用于逻辑运算,可以在一条语句中同时出现,但还有优先级的限制。

基本应用:

逻辑与,符号为“&&”,只有两个操作数都是真,结果才是真。逻辑或,是逻辑运算符,符号是“||”。表示当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。“!”(逻辑非)逻辑运算符。“逻辑非”就是指本来值的反值。

优先级:

C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。逻辑与运算符 13级“&&”逻辑与运算符。逻辑或运算符 14 级,“ || ”逻辑或运算符。逻辑否“!”单目/一元运算 3级。因此优先级为:逻辑非高于逻辑与高于逻辑非。

运算方向:

在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 &&b&&运算符的左边位0,则右边表达式b就不再判断。

扩展资料:

相关规则及应用:

1、逻辑运算符:a=1,b=1;a||b-1因为a=1为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。

2、短路原则:

在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。

每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算;只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。

参考资料来源:百度百科-逻辑与

参考资料来源:百度百科-逻辑或

参考资料来源:百度百科-逻辑非

参考资料来源:百度百科-C语言运算符

位运算符有:&(按位与)、|(按位或)、^(按位异或)、~

(按位取反)。

优先级从高到低,依次为~、&、^、|

按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x

&

0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x

=

x

&

077。

按位或运算的典型用法是将一个位串信息的某几位置为1。如将要获得最右4位为1,其他位与变量j原来其他位保持相同,可用逻辑或运算017|j;

按位异或运算的典型用法是求一个位串信息的某几位信息的反。如欲求整型变量j的最右4位信息的反,用逻辑异或运算017^j,就能求得j最右4位的信息的反,即原来为1的位,结果是0,原来为0的位,结果是1。

交换两个值,不用临时变量,假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:

a=a^b

b=b^a

a=a^b

取反运算常用来生成与系统实现无关的常数。如要将变量x最低6位置成0,其余位不变,可用代码x

=

x

&

~077实现。