VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 688|回复: 3

[已解决]逻辑运算符-与或非

[复制链接]
13_avatar_middle
最佳答案
0 
在线会员 发表于 2021-10-26 22:36:59 | 显示全部楼层 |阅读模式
3驿站币
逻辑运算符-与或非

终于学到逻辑运算符了,这节内容本来好像挺好理解的,关键是最后这几句给我整懵了。仿佛要传递的信息量有点多,但又分不清是不是真的要传递很多的信息量。

举几个例子:
若 int x = 5; 则 !x 的值就是0,因为 x 的值是5,非0,所以是真,!x 就是假了,也就是0了;
若 int x = 5, y = 4; 那么 x && y 的结果就是真,int z = x && y; 你会发现 z 的值是1;
若 int x = 5, y = 4; 那么 !x || y 的结果是多少呢?到底是先算逻辑非,还是先算逻辑或呢?这就涉及到他们的运算符优先级了。大家可以找下《实用C++》第8课的课程说明文档,我当时给大家打包了一个运算符优先级的图标,大家可以查一下C++中的三个逻辑运算符的优先级是怎么样的顺序呢?https://www.cctry.com/thread-278817-1-1.html

就是这段话,首先第一个,若 int x = 5; 则 !x 的值就是0,因为 x 的值是5,非0,所以是真,!x 就是假了,也就是0了;

按我的理解,这句话仿佛要传递一个信息,首选int x=5,则 ix=0  这就懵了,因为如果x=5,那非x也不一定是0啊,不能是6吗?
然后我试图找个合理的解释,这话要传递的信息不是,x=5则ix=0  意思是 x=5为真,所以ix为假,这样应该好像没毛病,但这里为什么要提0呢,感觉误导性挺大,让我总往0上去想。如果不提0。我估计就认为。在if判断中,前一句为真,所以非真=假,所以不执行if的下面第一行的代码。

然后我试图又找个作者提0的解释,就是int x 只要不是0.就是真,是0就是假,那么信息量就大了,是不是int的真假是受0控制的呢?
这个不知道怎么验证。所以放一下,先验证下面一个问题。若 int x = 5, y = 4; 那么 x && y 的结果就是真,int z = x && y; 你会发现 z 的值是1;

然后继续蒙。

如果这里要表达的是,int x=正整数,为真,int y=正整数,为真,所以 真&&真=真。 所以int z=真。这样我感觉能理解,但关键这个1又是咋来的,就算正整数为真,那他不能等于2吗?搞不明白。

为什么作者大佬要提到0和1,是真的有0和1,这两个值。还是这两个值代表的(0和正整数)之类的。。。。

然后自己想验证一下,捣鼓一下,发现也不行,如图,提示红色波浪线:应输入声明。。。。这是啥意思。。。新手新手,理解一下。还没摸清楚vs这软件.....
可能这种验证一定要放到if后面的括号里吧,因为if的括号里才需要判断最终句子是真还是假。
那么问题又来了,既然只判断最终的真和假,那么为什么要提0和1呢?

是真的有这两个值,还是这两个值代表0和正整数。正整数代表真,不是正整数代表假呢,,,,,额,越说越难表达。。。

满头大汗,指手画脚。。。。不知道大家理解我的问题了没有。。

ps最后一个问题挺好理解,!的有限级为2,||的优先级是12.所以假或真,为真。
最佳答案
00_avatar_small
2021-10-26 22:37:00
布尔值bool

真或假    true或false

0就是假    非0就是真

逻辑中只有true和false     任何逻辑比较返回的都是布尔值  即0或1

用多了就不会再纠结了

逻辑运算符-与或非

用多了就知道了

最佳答案

查看完整内容

布尔值bool 真或假 true或false 0就是假 非0就是真 逻辑中只有true和false 任何逻辑比较返回的都是布尔值 即0或1 用多了就不会再纠结了 用多了就知道了




上一篇:看不懂帮助文档
下一篇:问2个问题
00_avatar_middle
最佳答案
13 
在线会员 发表于 2021-10-26 22:37:00 | 显示全部楼层    本楼为最佳答案   
bestAnswer
布尔值bool

真或假    true或false

0就是假    非0就是真

逻辑中只有true和false     任何逻辑比较返回的都是布尔值  即0或1

用多了就不会再纠结了

逻辑运算符-与或非

用多了就知道了

评分

参与人数 2驿站币 +16 热心值 +4 收起 理由
31_avatar_small cpp2019 + 1 + 1 这个回答用了心,点个赞!
75_avatar_small wl1383838438 + 15 + 3 赞一个!

查看全部评分

13_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-10-27 09:30:03 来自手机 | 显示全部楼层
好像有点明白了,我后来猜作者可能是用1和0代表真假,相当于简写之类的。感觉这样猜好像有点说得通。
00_avatar_middle
最佳答案
13 
在线会员 发表于 2021-10-27 09:57:06 | 显示全部楼层
写意春秋 发表于 2021-10-27 09:30
好像有点明白了,我后来猜作者可能是用1和0代表真假,相当于简写之类的。感觉这样猜好像有点说得通。

听说关于逻辑值有三种状态才完美

负值为假    正值为真     0为真假叠加态

出处不记得了

逻辑运算符-与或非
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-12-11 10:01

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表