C语言 若int x=0,y=2,z=5;则下列表达式值为假的是() A 'x'&&'y' B x<y C x||y+z&&y-z D !((x<y)&&!||1)

为什么答案是D 求详细的解析

同意楼上的说法,!((x<y)&&!||1) 的写法应该是有问题的。
如果抛开格式不论,考的应该是运算符的优先级和结合性,zsx10110的意思就是表达式是从左到右计算的,无论前面的内容是什么,真或假的话和1的或运算都为1,也就是为真,再取反就变成假了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-25
D !((x<y)&&!z||1)
先判断(x<y)&&!z||1,前面不需要计算,因为最后||右边为真,所以表达式为真
取反为0,所以!((x<y)&&!z||1)为0追问

能不能一步一步的写出来。不知道顺序是哪样的!

追答

我说的已经够详细了啊~

追问

是不是这样子
z||1 这个是真 取非0
! 这个就得取0
&& 因为有0 所以就全部是0 也就是假

第2个回答  2012-04-25
首先判断判断优先级啦,括号的最高级的,所以先算括号里的的,x<y为假,所以值为0,然后是算!z值为0,0&&0值为1,1||1值为1,最后!1值为0,所以是假的····够详细吧,如果你还要问我为什么先算这个那个的话,我只能说,看书啊···········
第3个回答  2012-04-25
你的D是那样么?我还真是孤陋寡闻了!我只见过+++,还没见过这样的&&!||!

c语言有道题目:设x,y,z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0...
A:'a'<=ch 的值是0或1,而'Z'的值肯定大于1,所以表达式的值为真(非0);B:是两个逻辑值的算术与,这两个值有可能同时为真,所以整个的值有可能为非0的真值;C:运算顺序是 x || ((y+z) && (y-z)),显然结果不一定是真还是假,所以依然有可能为非0;D: ! ((x<y) && !...

...y=3,z=4;则下面的表达式中值不为1的表达式是___。 A、'x'&&'z...
'x'就代表120,'z'代表122.就这样。

java,设x=1,y=2,z=5;则经过表达式z+=++y+2*3<<x后,z的值为
需要考虑的类型无外乎 int double (short, long ,float 不用考虑,这两个足够表示了)4. 表达式右侧 z--\/++x <==> 3 \/ 2 1) 如果 z ,x 都为 int 结果为 1 2) 如果 z, x有一个为double, 结果为1.5 5. 表达式左侧 最终结果的类型取决于y的类型 1) y 为 int 结果为 2 ...

...int x=03,y=02,z=01;那么语句printf("%d",x|y&~Z)的执行结果是?_百 ...
答案是C 首先计算~Z得到结果后再和y进行与运算,这时结果为2 最后再与x进行或运算,3|2=3

main(){int x=3,y=0,z=5;if(x=y+z)printf("***");else printf("###...
你确定是这个结果? 按道理来说y+z!=0所以括号里为真,所以运行printf("***"); 另外判断的时候是可以加表达式的 只不过此时判断的是这个值是否相等,而是是否为0 我在本机上运行了这段程序,确实是

C语言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0 具体请看下边程序...
int main(void) { int x=1, y=1, z=10;\/\/定义三个数 if(z<0) \/\/此语句为第一句z = 10; 因为10大于0 不成立,不执行下列二三语句,跳转语句四 if(y>0)\/\/\/此语句为第二句属于上一句的if语句 由于上个语句不成立所以不执行, x=3;\/\/\/此语句为第三句同上属于上一句的if语句 由于上个语句不成立...

C语言; int x,y,z; x=y=z=2; ++x||++y&&++z; printf("%
完成后由于短路效应,该计算树的右子树被抛弃,于是树根的值为1,计算完毕。这里举另外一个例子:x*y+z*(a+b)计算树如下:x*y+z*(a+b)x*y + z*(a+b)x * y z * (a+b)a + b

int x=2,y=3,z=4; 则表达式x+y&&x=y的值为【】.
按你原题的意思结果是1,如果题是x+y&&x==y,则结果我觉得应该是0 以上结果是c语言下的规则。

若int x=2,y=3,z=5;则表达式x>y!=z>y的结果为1。请利用运算符的优先级...
(x>y)!=(z>y)代入即 (2>3)!=(5>3)0!=1 表达式结果为1 C的运算符有以下几类:1.算术运算符:* - + \/ 2.关系运算符: > < == != >= <= 3.逻辑运算符:! && || 4.位运算符:<< >> ~ | ^ & 5.赋值运算符:=及扩展赋值运算符 6.条件运算符:?:7.逗号运算符:,8...

c语言中!=和!运算符实际运用上有什么区别?!运算符应
在 C99 标准之前的编程环境中,由于没有 bool、true 或 false 的数据类型,布尔值往往通过整型 int 类型表示。比如表达式 3 4 的求值结果是整数 1,而 3 > 4 的求值结果则是整数 0。所有逻辑运算符的操作数均依据零和非零来判断真假。其中,一元逻辑取反运算符“!”用于操作数的逻辑非,它将非...

相似回答