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
算的和答案不一样。不懂求解!
不好意思。两个答案写反了 展开
表达式 3.6-5/2+1.2+5%3 的值是______。
答案
4.800000
6.000000
算的和答案不一样。不懂求解!
不好意思。两个答案写反了 展开
5个回答
展开全部
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
原因: 首先看前一部分,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
更多追问追答
追问
怎么看出括号里的是整数?。。。
追答
你加上小数点就知道了~不加小数点的就是整数阿~你加上了之后的结果就不一样了,你试下
展开全部
第一个题的答案是 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
第二题:5/2=2, 5%3=2(取余数),结果就是3.6-2+1.2+2=4.80000
追问
O(∩_∩)O谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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。
求采纳为满意回答。
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。
求采纳为满意回答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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。
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。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
答案肯定不能一样啊,没有注意运算符的优先度,检查一下你的语法吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询