C语言:已有定义int x=3,y=4,z=5;则表达式 !(x+y)+z-1&&y+z/2的值是?

如题所述

答案是1。

涉及到的运算符: ! () + - && /

运算符优先级为:() ! / + - &&

运算过程:

x=3,y=4,z=5

!(x+y)+z-1&&y+z/2

!(3+4)+5-1&&4+5/2

所以表达式计算步骤为

!(3+4)+5-1&&4+5/2 -> !7+5-1&&4+5/2

!7为 0

-> 0+5-1&&4+5/2

5/2 整数除整数得整数 2

-> 0+5-1&&4+2

-> 4&&6

逻辑运算 &&

扩展资料

C语言运算符的优先级:

如果同一优先级的运算符,结合次序由结合方向所决定。

参考资料来源:百度百科-运算符优先级

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
只是等于1的,我是经过turbo c2.0编译过的,答案应该没什么问题的,程序是:
main()
{
int x,y,z,k;
x=3;y=4;z=5;
k=0;
k=!(x+y)+z-1&&y+z/2;
printf("%d",k);}
答案为什么会等于1呢?那是因为运算级别的问题,根据运算级别,实现算括号里面的先,所以程序就变成!7+z-1&&y+z/2;
然后就算!运算,由于7是大于1的,也就是真,所以!真就是假,也就是0,所以函数就变成0+z-1&&y+z/2;
然后再算除号的,由于你这里两个都是整形的,所以小数点后面的数忽略,所以就变成0+z-1&&y+2;
接着计算加减运算,也就是变成4&&6;
因为4和6都是大于1的数,所以就是真,由于&&两边都是真的话,输出的就是真,所以结果就是1。
要是还有什么不明白的话,就mm我吧!嘻嘻~~~~~~本回答被网友采纳
第2个回答  2013-08-04
1
优先级: 算数>条件>关系>赋值
关系中的优先级: 非>与>或
第3个回答  2020-07-12
x等于y加4。四家外加1+3+5+4+1等于三五+4+5+1。
第4个回答  2017-06-14
1,把运算符优先级搞清楚就好了

...x=3,y=4,z=5;则表达式 !(x+y)+z-1&&y+z\/2的值是?
答案是1。涉及到的运算符: ! () + - && \/ 运算符优先级为:() ! \/ + - && 运算过程:x=3,y=4,z=5 !(x+y)+z-1&&y+z\/2 !(3+4)+5-1&&4+5\/2 所以表达式计算步骤为 !(3+4)+5-1&&4+5\/2 -> !7+5-1&&4+5\/2 !7为 0 -> 0+5-1&&4+5\/2 5\/2 整数除整数...

...int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z\/2的值为,求详细解_百度...
所以表达式可以写成这种形式:(!(x+y)+z-1)&&(y+z\/2)。计算顺序为:!(x+y)+z-1 = !7 + 5 - 1 = 0 + 5 - 1 = 4 y+z\/2 = 4 + 5/2 = 4 + 2 = 6 4&&6 = 1 所以最后结果为1.在VC6.0下运行结果如下图:...

...x=3,y=4,z=5 则表达式!(x+y)+z-1&&y+z\/2的值是,这个怎样求,想要具 ...
!(x+y)+z-1&&y+z\/2 =!(3+4)+5-1&&4+5\/2 =!7+5-1&&4+5\/2 =0+4&&4+5\/2 =4&&6 =1 运算符的优先级:()最高,下来是!下来是+,-,*,\/,最后是&& 逻辑与在左边右边只要有一个0的时候结果就为0 4和6都不为0,所以结果为1 参考资料:百度一下 ...

int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z\/2的值是 A 6 B 0 C 2 D 1
就等于算 【!(x+y)+z-1】&&【y+z\/2】=1 谢谢。

c语言考试,求答案,急!!急!!
C) 6,4 D) 7,4 (21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z\/2的值是( )。 A) 6 B) 0 C) 2 D) 1 (22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。 A) if(x>0) y=1; B) y=0; else if(x==0) y=0; if(x>0) y=1; ...

计算机基础模拟题一,答案?
(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z\/2的值是( )。A) 6 B) 0 C) 2 D) 1(22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。A) if(x>0) y=1; B) y=0; else if(x==0) y=0; if(x>0) y=1; else y=-1; else if(x<0) ...

intx=3,y=4,z=5;写出下列表达式的值(1)(x&&y)==(x||z);的值是?
由于变量x,y,z均为非零值,所以子表达式x&&y值为1(真),x||z也为1(真)表达式(x&&y)==(x||z)整体值依旧为 1

53. 若有定义:int x=3,y=4,z=5;则值为0的表达式是( ). A. 'x'&&'y...
逻辑表达式,非0就是1.'x'&&'y'两个字符与,非0。x<=y,1。x||y+z&&y-z →1+z&&y-z→1+1-z→-3,非0。!((x<y)&&!z||1)→!(1&&!z||1)→!(0||1)→!(1)->0。所以选D

在C语言中, x=3,y=4,z=5 x‖y+z&&!y为多少?
!优先级最高,计算!y值为0,然后是加号优先级,y+z=9,然后优先级是逻辑与,9&&0,值为0,最后优先级最低的是逻辑或,3||0,值为1

设int x=3,y=4,z=5;下列表达式中值为0的是( ) A.x&&y B.x<=y C.x|...
选D 这题考查逻辑运算符的使用 “&&” :当左右两个表达式同时为真时,结果才为真 “||” : 当左右两个表达式同时为假时,结果才为假 “!” : 当右边表达式为真时,结果为假;当右边表达式为假时,结果为真。记住上面规律便可。

相似回答