求&&逻辑与 ||逻辑或 !逻辑非 如何判断真假

作者&投稿:以姚 (若有异议请与网页底部的电邮联系)
!逻辑非 & 逻辑与 | 逻辑或 ^ 逻辑异或 && 短路与 ||短路或,请前辈们解释一下上面所说~

! 逻辑非 把true变成false 把false变成true 反转一下
或在有些语言中(C, C++等) 可以把0变成1 或是 把非0变成0(因为这些语言中0和非零就代表false和true)

& 逻辑与 和 &&短路与 两边表达式都为真的情况下 该表达式的值为真
两个运算符在结果上没有区别 但运算过程稍有差异 参见下面关于“短路”的内容
例子:
true && true 是 true
true && false 是 false
1 == 1 && 2 == 2 是 true
1 > 2 && 3 > 2 是 false

| 逻辑或 和 ||短路或 任意一边表达式为真的情况下 该表达式的值为真
两个运算符在结果上没有区别 但运算过程稍有差异 参见下面关于“短路”的内容
例子:
true || true 是 true
true || false 是 true
false || false 是 false

^逻辑异或 是指 表达式两边的值不同的情况下 该表达式的值为真
false ^ true 是 true
true ^ false 是 true
false ^ false 是 false
true ^ true 是 false

关于“短路”:
在逻辑表达式中,往往存在一些判断了一半,就没必要再继续判断的表达式。
比如:1==2 && 2==2
在判断了1==2之后 左边已经是false了,那么无论右边的值是什么,都不可能阻止这个表达式的值等于false。再看:
true || false
既然左边是true了 那么这个表达式的值一定是true 也就没必要再看右边了。

所以,短路的意思就是说,一个逻辑表达式,如果左边的表达式已经决定了整个表达式的值,右边就不会再执行和判断了。

而上面的逻辑与和逻辑或, & 和 |。他们会把两边的值先算出来,在进行运算,这更像是在进行位运算。而短路与和短路或 才是真正符合逻辑的逻辑运算。参看下面代码段:

int a=1, b=2;
if(a==0 && ++b==2){}
//在这里 b的值还是2,因为左边是假,右边不执行。
if(a==0 & ++b==2){}
//在这里 b的值就变成3了。

这样讲。。。楼主应该明白了吧。。


“&&”(逻辑与)是逻辑运算符。
  “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。
  逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
  逻辑运算符有4个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。
  什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
  1&&1 = 1
  1&&0 = 0
  0&&0 = 0
“||”(逻辑或)是三种逻辑运算符。
  “逻辑或”相当于生活中的“或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”
  逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式。
  逻辑运算符有4个,它们分别是: !(逻辑非)、 ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。
  什么是逻辑运算--逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
  例子:
  0 || 0 = 0;
  1 || 0 = 1;
  0 || 1 = 1;
  1 || 1 = 1;

&& 两边 “同真为真”就是当两边的条件都成立时才返回true 只要有一个不成立就返回false|| 两边 “同假则假”只有当两边条件都为假的时候才才是假的 只要有一个为真就时真的 也就是可以通过

真&&真=真真&&假=假假&&假=假真||真=真真||假=真假||假=假!真=假!假=真


鹤庆县13522644990: 什么是"逻辑或";"逻辑非";"逻辑与" -
勤凭麦道: “!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符. “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”. “逻辑或”相当于生活中的“或者”,当两个条件中...

鹤庆县13522644990: 画出逻辑与,逻辑非,逻辑或的符号与真值表 -
勤凭麦道:[答案] 郭敦顒回答: 逻辑与,逻辑非,逻辑或的符号: 逻辑与——∧,逻辑非——﹁,逻辑或——∨; 数理逻辑里的五个基本联结词:﹁,∧,∨,→,↔ 另两个,→⇒——蕴含,↔——等价. 外两个: A↓B——叫做合舍,读作“既非A又非B”,表示A与B同...

鹤庆县13522644990: 逻辑运算符 !,&&,|| 什么意思 -
勤凭麦道: !逻辑非,相当于不等于,|| 逻辑或,相当于or,&&逻辑与,相当于and.

鹤庆县13522644990: 逻辑运算符及其意思(+, - ) -
勤凭麦道: 逻辑运算符是根据表达式的值来返回真值或是假值.其实在C语言中没有所谓的 真值和假值,只是认为非0为真值,0为假值. 符号 功能: && 逻辑与 || 逻辑或 ! 逻辑非 例如: 5!3; 0||-2&&5; !4;当表达式进行&&运算时,只要有一个为假,总...

鹤庆县13522644990: c语言逻辑运算符 -
勤凭麦道: C语言中的逻辑运算符就三种,&&与||或!非,它们的优先极顺序为非,与,或.它们含义如下,!:当操做数为真时,结果为假,反之也成立,并且它的优先极也最高,因为只有它是单目运算符,&&:只有当两个操做数都为真时,结果才为真,否则为假.||:只有当两个操做数都为假时,结果才为假,否则结果为真.除了这些,逻辑运算符还有几点应注意,!运算符是右结合性,&&和||是左结合性.在逻辑表达式求解时,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求表达式的解时,才能执行该运算符.如

鹤庆县13522644990: 或且非怎样用c语言写? -
勤凭麦道: |或为||,比如x<1||x>3意思就是x小于1或者大于3. 且为&&,比如x<3&&x>1意思就为1<x<3.非为!,比如!0,意思就是非0.“!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符. “逻辑与”相当于生活中说的“并且...

鹤庆县13522644990: c++中的非怎么在c++中打出来? -
勤凭麦道: c++中的非就是感叹号!; 逻辑编辑 逻辑运算符是根据表达式的值来返回真值或是假值.其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值. 符号 功能 && 逻辑与 || 逻辑或 ! 逻辑非 当表达式进行&&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真.当表达式进行||运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假.逻辑非(!)运算是把相应的变量数据转换为相应的真/假值.若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假.

鹤庆县13522644990: C语言中逻辑运算符非"!"与"&&"或"||"的优先级怎么说? -
勤凭麦道: 逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非) → &&(与) → ||(或) 记忆口诀:not(非) and(与) or(或) 运算规则1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假". 2) || :当且仅...

鹤庆县13522644990: 逻辑问题: 选择题 -
勤凭麦道: (1)C与.(2)B或 “!”(逻辑非)、“&&”(逻辑与)、“||”(逻辑或)是三种逻辑运算符. “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”. “逻辑或”相当于生活中的“或者”...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网