C语言计算问题

表达式54%10/2+4.0*(8/5)的值是______。表达式3.6-5/2+1.2+5%3的值是______。答案4.8000006.000000算的和答案不一样。... 表达式54%10/2+4.0*(8/5) 的值是______。
表达式 3.6-5/2+1.2+5%3 的值是______。
答案
4.800000
6.000000
算的和答案不一样。不懂求解!
不好意思。两个答案写反了
展开
 我来答
zhdy9850
推荐于2016-11-11 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:0%
帮助的人:29.2万
展开全部
54%10/2+4.0*(8/5) = 6.000000

原因: 首先看前一部分,54%10 = 4 4/2 = 2 这是前部分的结果:2
再看后一部分:首先计算括号里的 8/5 由于是整数,所以8/5 = [1.6]=1然后再计算乘法 4.0*1 =4.0 最后两部分相加 2+4.0=6.000000,int型和float型相加会自总转换成float型
同理:

3.6-5/2+1.2+5%3 =4.800000

原因:5/2 = [2.5]=2 5%3=2 故:3.6-2+1.2+2 = 4.800000
更多追问追答
追问
怎么看出括号里的是整数?。。。
追答
你加上小数点就知道了~不加小数点的就是整数阿~你加上了之后的结果就不一样了,你试下
xinan06
2014-06-13 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:75.8万
展开全部
第一个题的答案是 6.000000才是呀,先算54%10=4,然后4/2=2; 后面的(8/5)=1,4.0*1=4.0;最后两个想家时6.00000
第二题:5/2=2, 5%3=2(取余数),结果就是3.6-2+1.2+2=4.80000
追问
O(∩_∩)O谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幕问夏6576
2014-06-13 · 超过65用户采纳过TA的回答
知道答主
回答量:108
采纳率:0%
帮助的人:113万
展开全部
unsigned char BUF[6];//运算符优先级问题
int x,y,z;
x=BUF[0] << 8 | BUF[1]; //先将BUF[0]左移八位再将得到的结果与BUF[1]进行或运算,最后的结 果赋予x;
z=BUF[2] << 8 | BUF[3]; //类似
y=BUF[4] << 8 | BUF[5]; //类似

angle= atan2((double)y,(double)x) * (180 / 3.14159265) + 180;//先把y和x强转为double类型,
然后将y除以x的值进行反正切预算,得到的结果是一个弧度值,然后乘以(180/3.14159265)转化为角度值,最后加上180度并赋予angle。
求采纳为满意回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
橙bluyf5935
2014-06-13 · 超过65用户采纳过TA的回答
知道答主
回答量:129
采纳率:100%
帮助的人:56.3万
展开全部
unsigned char BUF[6];//运算符优先级问题
int x,y,z;
x=BUF[0] << 8 | BUF[1]; //先将BUF[0]左移八位再将得到的结果与BUF[1]进行或运算,最后的结 果赋予x;
z=BUF[2] << 8 | BUF[3]; //类似
y=BUF[4] << 8 | BUF[5]; //类似

angle= atan2((double)y,(double)x) * (180 / 3.14159265) + 180;//先把y和x强转为double类型,
然后将y除以x的值进行反正切预算,得到的结果是一个弧度值,然后乘以(180/3.14159265)转化为角度值,最后加上180度并赋予angle。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科技引领可持续发展
2014-06-13 · TA获得超过153个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:118万
展开全部
答案肯定不能一样啊,没有注意运算符的优先度,检查一下你的语法吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式