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

要求说具体算法... 要求说具体算法 展开
 我来答
百度网友e9042513a
2009-02-28 · TA获得超过6984个赞
知道大有可为答主
回答量:2388
采纳率:0%
帮助的人:3474万
展开全部
这里涉及到的运算符: ! () + - && /
优先级:() ! / + - &&

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
逻辑运算 &&

所以是1

C++ 运算符优先级列表 (很详细的): http://www.cppblog.com/aqazero/archive/2006/06/08/8284.html
汝闲初喜悦
2020-04-21 · TA获得超过3829个赞
知道大有可为答主
回答量:3210
采纳率:33%
帮助的人:244万
展开全部
只是等于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我吧!嘻嘻~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友406ae28
2009-02-28 · TA获得超过325个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:0
展开全部
1

!(x+y)+z-1

先计算x+y,再!(x+y),然后结果)+z-1,结果是0+5-1=4

所以要计算&&之后的表达式
y+z/2 = 6

4&&6 =1

附:c语言的操作符共有15个优先级,如下:
Operators Associativity
() [] -> . left to right
! ~ ++ -- + - * (type) sizeof right to left
* / % left to right
+ - left to right
<< >> left to right
< <= > >= left to right
== != left to right
& left to right
^ left to right
| left to right
&& left to right
|| left to right
?: right to left
= += -= *= /= %= &= ^= |= <<= >>= right to left
, left to right
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lichking87
2009-02-28 · TA获得超过438个赞
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:55万
展开全部
!(x+y)=!(3+4)=!7=0 这是“非”表达式
1&&y=1&&4=1 这是“且”表达式
z/2=2 这是求商式(z%2是求余式)

可得 !(x+y)+z-1&&y+z/2=0-1+2=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子夜清风101
2009-02-28
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
1
首先!优先级最高,故!(x+y)=0,
然后根据算术运算符的优先级高于&&,继续计算0+z-1=4,和y+z/2=6,(z/2为取整运算)最后进行“与”运算,4&&6=1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式