(
0
&&
((!2)+5))
||
(1
&&
(!(2+(!0)))说顺序首先执行
(
0
&&
((!2)+5))
然后
因为
0
,所以
(
0
&&
((!2)+5))
=
0,后面的不会执行
然后
(1
&&
(!(2+(!0)))
因为
1
所以
看(!(2+(!0))所以要看
2+(!0)
!0
=
1=>
2
+
!0
=
3=>
(!(2+(!0))
=
(!
3)
=
0=>(1
&&
(!(2+(!0)))
=
(1
&&
0)
=0
所以
(
0
&&
((!2)+5))
||
(1
&&
(!(2+(!0)))
=
0
||
0
=
0
我刚开始学的时候也是和你一样,首先从选择题入手,把每章能有的题都刷一遍搞懂,然后做编程题,记住每一句都自己亲自打在电脑上运行测试,刚开始自己写不出来可以边看边打,哪怕死记硬背把开始的那些典型程序背下来,慢慢理解,时间长了自然会了。记住一定要亲自电脑上多打代码,哪一处不懂就问,切记不要复制粘贴01010111 and
--------
0101
所有你提到的这些运算符在对数值表达式 *** 作时都是进行的位比较,其规则如下:
And 运算符对两个数值表达式中位置相同的位执行逐位比较,并根据下表设置 result 中相应的位:
result = expression1 And expression2
0____________0 ____________0
0____________0 ____________1
0____________1 ____________0
1____________1 ____________1
Or 运算符对两个数值表达式中位置相同的位执行逐位比较,并根据下表设置 result 中相应的位:
result = expression1 Or expression2
0___________0 ___________0
1___________0 ___________1
1___________0 ___________1
1___________1 ___________1
Not 运算符将变量的位取反,并按下表设置 result 的相应位
result = Not expression
0____________1
1____________0
Xor 运算符可以对两个数值表达式中位置相同的位执行逐位比较,并根据下表设置 result 中相应的位:
result = expression1 Xor expression2
0____________0 ____________0
1____________0 ____________1
1____________0 ____________1
0____________1 ____________1
Eqv 运算符执行两个数值表达式相应位的逐位比较,并按下表设置 result 相应位:
result = expression1 Eqv expression2
1____________0 ____________0
0____________0 ____________1
0____________1 ____________0
1____________1 ____________1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)