这是C语言的逻辑运算符:异或
这个网站讲的非常详细,我摘抄了一些,详细的你看以看看。有很例子,好懂!
逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
逻辑运算符有4个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。
什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
例 1:通常一个教室有二个门,这二个门是并排的。要进教室从门A进可以,从门B进教室也行,用一句话来说是“要进教室去,可以从A门进‘或者’从B门进”
用逻辑符号来表示这一个过程--能否进教室用符号C表示,教室门分别为A和B。C的值为1表示可以进教室,为0 表示进不了教室。A和B的值为1时表示门是开的,为0表示门是关着的,列表如下:
说明 C A B
2个教室的门都关着,进不去教室 0 0 0
门B是开着的,可以进去 1 0 1
门A是开着的,可以进去 1 1 0
门A和B都是开着的,可以进去 1 1 1
把表中的过程写成逻辑运算就是: C = A || B 这就是一个逻辑表达式,它是一个“或”运算的逻辑表达式。这个表达式要表达的是这个意思--如果要使得C为1,只要 A“或”B其中之一为 1即可以达到。所以“||”运算称为“或”运算。
“!”逻辑非运算符,逻辑操作符一般将其操作数视为条件表达式,返回结果为Bool类型:
“!true”表示条件为真(true)。
“!false ”表示条件为假(false)。
C语言:是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言运算符:是说明特定操作的符号,它是构造C语言表达式的工具 。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理,除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。
优先级:C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
优先级等级口诀:
圆方括号、箭头一句号, 自增自减非反负、针强地址长度,
乘除,加减,再移位,
小等大等、等等不等,
八位与,七位异,六位或,五与,四或,三疑,二赋,一真逗。
其中“,”号为一个等级分段。
结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。
!逻辑非 如!3 值为0 即为假
!0值为1即为真
跟~不一样,~是按位取反,如~3 即 ~00000011 结果为11111100
相当于非的意思,一般与=好结合形成!= 及不等于的意思、、
这是逻辑运算符,是“非”的意思。如 9!5)=0 (!0)=1,0是真,非0是假。