急!!C++.已知变量a,b,c是整型变量,且a=3、b=4、c=5,则表达式:!(a+b)+c-1 && b+c/2的值是?求详解~

 我来答
匿名用户
2011-01-08
展开全部
答案为1。
详解:
!(a+b)+c-1 && b+c/2
等价于
(!(a+b)+c-1) && (b+c/2)
计算机内部计算步骤(可以查看汇编)
先算!(a+b)+c-1 ——>0+5-1——>4
测试上一步结果(结果为4),表达式为真。
再算b+c/2——>结果为6(注意4/2结果为2,因为都是整型,余数丢掉)
测试上一步结果(结果为6),表达式为真。
最后,将结果1赋给整个表达式,即最后的结果。
#include <iostream>
using namespace std;
int main()
{
int a = 3,b = 4,c = 5;
int result = !(a+b)+c-1 && b+c/2;
int step1 = !(a+b)+c-1;
int step2 = b+c/2;
cout<<"The result is ";
cout<<result<<endl;
return 1;
}
sky780401
2011-01-08 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:108万
展开全部
!(a+b)+c-1 = 0 + 5 - 1 = 4
b+c/2 = 4 + 5 / 2 = 4 + 2 = 6

!(a+b)+c-1 && b+c/2 = 4 && 6 返回的可能是左值 4

std::cout<<!(a+b)+c-1 && b+c/2; 结果显示4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
磨沟山水
2011-01-08
知道答主
回答量:22
采纳率:0%
帮助的人:3.2万
展开全部
值为1
本题为逻辑运算,根据运算符号的优先级可把该式子等效为( !(a+b)+c -1 )&&( b+c/2 )
优先级排序:()…… !、+、—、…… / …… && (优先级靠前优先计算)
分步解析:逻辑与左边:1)先计算a+b=7 ; 2) !(a+b)=! 7 = 0 ; 3)0+c-1=4
逻辑与右边:1)c/2=2; 2) b+2=6
4&&6(两边都为逻辑真值,相与亦为真值)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZysLucKing
2011-01-08 · 超过14用户采纳过TA的回答
知道答主
回答量:171
采纳率:0%
帮助的人:45.7万
展开全部
!(a+b)+c-1&&b+c/2
=!(3+4)+5-1&&4+5/2
=0+5-1+2
=6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友51dd67d
2011-01-08
知道答主
回答量:9
采纳率:0%
帮助的人:7.9万
展开全部
4&&6 是1吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f5b31b4
2011-01-08
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
111
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式