展开全部
首先说一下基本优先级
1)括号永远优先级最高
2)无括号的默认优先级
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
然后来看算式:
a+(int)(b/3*(int)(a+c)/2)%4
=2.5+(int)[7/3*(int)(2.5+4.7)/2]%4 --①代入变量值,中括号为了表达优先级
=2.5+(int)[7/3*7/2]%4 --②(int)(2.5+4.7)=(int)7.2=7
=2.5+7%4 --③(int)[7/3*7/2] 因为是int型数字进行运算
--所以所有运算结果去掉小数点后面的部分
--(int)[7/3*7/2]=2*7/2=14/2=7
--PS: 后面算式本来就是INT类型的
--所以,前面的强转(int)没有任何作用,不会影响结果
=2.5+3 --④7%4=3 :7/4的余数是3
=5.5 --⑤最后结果是5.5
1)括号永远优先级最高
2)无括号的默认优先级
* / 运算优先级最高
% 运算优先级次高
+ -运算优先级最低
然后来看算式:
a+(int)(b/3*(int)(a+c)/2)%4
=2.5+(int)[7/3*(int)(2.5+4.7)/2]%4 --①代入变量值,中括号为了表达优先级
=2.5+(int)[7/3*7/2]%4 --②(int)(2.5+4.7)=(int)7.2=7
=2.5+7%4 --③(int)[7/3*7/2] 因为是int型数字进行运算
--所以所有运算结果去掉小数点后面的部分
--(int)[7/3*7/2]=2*7/2=14/2=7
--PS: 后面算式本来就是INT类型的
--所以,前面的强转(int)没有任何作用,不会影响结果
=2.5+3 --④7%4=3 :7/4的余数是3
=5.5 --⑤最后结果是5.5
展开全部
过程尽在其中:
a+(int)(b/3*(int)(a+c)/2)%4
=2.5+(int)(7/3*(int)(2.5+4.7)/2)%4
=2.5+(int)(2*(int)(7.2)/2)%4
=2.5+(int)(2*7/2)%4
=2.5+(int)(14/2)%4
=2.5+(int)(7)%4
=2.5+7%4
=2.5+3
=5.5。
a+(int)(b/3*(int)(a+c)/2)%4
=2.5+(int)(7/3*(int)(2.5+4.7)/2)%4
=2.5+(int)(2*(int)(7.2)/2)%4
=2.5+(int)(2*7/2)%4
=2.5+(int)(14/2)%4
=2.5+(int)(7)%4
=2.5+7%4
=2.5+3
=5.5。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照运算优先级,步骤如下:
步骤1:(a+c)=(2.5+4.7)=7.2
步骤2:(int)(a+c)=(int) 7.2 = 7
步骤3:(b/3*7/2)=(7/3*7/2)=8.16666666667
步骤4:(int)(b/3*7/2) = (int) 8.16666666667 = 8
步骤5: a +(int)(b/3*(int)(a+c)/2)%4 = 2.5 + 8%4 =2.5 +0 =2.5
步骤1:(a+c)=(2.5+4.7)=7.2
步骤2:(int)(a+c)=(int) 7.2 = 7
步骤3:(b/3*7/2)=(7/3*7/2)=8.16666666667
步骤4:(int)(b/3*7/2) = (int) 8.16666666667 = 8
步骤5: a +(int)(b/3*(int)(a+c)/2)%4 = 2.5 + 8%4 =2.5 +0 =2.5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+(int)(b/3*(int)(a+c)/2)%4=2.5+(int)(2*(int)7.2/2)%4=2.5+(int)(2*7/2)%4=2.5+(int)7%4=2+7%4=2+3=5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+(int)(b/3*(int)(a+c)/2)%4
=2.5+(int)(7/3*(int)(2.5+4.7)/2)%4
=2.5+(int)(2*(int)(7.2)/2)%4
=2.5+(int)(2*7/2)%4
=2.5+7%4
=5.5
=2.5+(int)(7/3*(int)(2.5+4.7)/2)%4
=2.5+(int)(2*(int)(7.2)/2)%4
=2.5+(int)(2*7/2)%4
=2.5+7%4
=5.5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |