A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是(    )。
A.0                                   B.语法错
C.1                                   D.“假”

24 个回复

倒序浏览
x>z假,  0是48,y<z,假,!y是假。。。。都是假啊,假&&假||假。。。难道是真的么。。。
回复 使用道具 举报
补充一点,即便是真&&假||假,结果也是假啊,真&&假 是假,假||假。。。。是吧
回复 使用道具 举报
Eil.tea 发表于 2015-8-14 18:20
补充一点,即便是真&&假||假,结果也是假啊,真&&假 是假,假||假。。。。是吧 ...

我也是这么以为的。答案写的是1真。我就纠结了。砸破脑袋也觉得是0
回复 使用道具 举报
这个确实是1
x>=z  45 > 0 为真   值为 1
y<’z’'a'的ASCII值=97, 'z'的ASCII值=122;所以 y < 'z' 为真,值为  1
!y y为真,!y 即为假。  
1 && 1 || 0 = 1
回复 使用道具 举报
庐山烟雨浙江潮 发表于 2015-8-14 19:29
这个确实是1
x>=z  45 > 0 为真   值为 1
y

一句惊醒了。被题给忽悠了。还以为是0的值呢。拜谢。
回复 使用道具 举报
庐山烟雨浙江潮 发表于 2015-8-14 19:29
这个确实是1
x>=z  45 > 0 为真   值为 1
y

!y都不用算,按照逻辑运算符的短路,||之前都为真,后面就不用看,答案就是真,为1
但是  !y  怎么算,字符取反是什么啊?
回复 使用道具 举报
wanghui001001 发表于 2015-8-14 22:12
!y都不用算,按照逻辑运算符的短路,||之前都为真,后面就不用看,答案就是真,为1
但是  !y  怎么算,字 ...

相当于 'a'的asc码65取非 就是 0 。!0为真 ,!(0以外的数)为假
回复 使用道具 举报
 神马都是浮云 发表于 2015-8-14 22:54
相当于 'a'的asc码65取非 就是 0 。!0为真 ,!(0以外的数)为假

喔,谢谢哈,就是还是看ascii码就对了
回复 使用道具 举报
 神马都是浮云 发表于 2015-8-14 22:54
相当于 'a'的asc码65取非 就是 0 。!0为真 ,!(0以外的数)为假

还有a的ascii码是97喔~
回复 使用道具 举报
围观学习
回复 使用道具 举报
wanghui001001 发表于 2015-8-14 23:55
还有a的ascii码是97喔~

嗯....哈哈哈
回复 使用道具 举报
x=45, y=’a’, z=0;
由上得出'a'的ascii码值是97,'z'的ascii码值是112
表达式(x>=z && y<’z’ || !y)
A&&B:如果A假,B就不执行了
A||B :如果A真,B就不执行了

所以x>=z && y<’z’是真的,真值为1。
既然为真 || 后面的代码就不执行了
回复 使用道具 举报
学习了啊
回复 使用道具 举报
fersh 来自手机 中级黑马 2015-8-16 22:00:28
15#
[quote]庐山烟雨浙江潮 发表于 2015-8-14 19:29
这个确实是1
x

正解,确实如此
回复 使用道具 举报
学习了,长知识了
回复 使用道具 举报
感觉是加,看看一下结合律就可以了
回复 使用道具 举报
wanghui001001 发表于 2015-8-14 22:12
!y都不用算,按照逻辑运算符的短路,||之前都为真,后面就不用看,答案就是真,为1
但是  !y  怎么算,字 ...

或运算有真即为真,如果前边的已经为真后边的就不执行判断。还有就是非0为真,其他的非数都为假。
回复 使用道具 举报
这个明显是真了,主要你是搞错z=0和'z'了吧
回复 使用道具 举报
确实长知识了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马