xcsc.net
当前位置:首页 >> 设x=2.5,A=7,y=4.7,求x+A%3*(int)(x+y)%2/4 求解题... >>

设x=2.5,A=7,y=4.7,求x+A%3*(int)(x+y)%2/4 求解题...

因为(int)是说运算结果强转成int,所以0.25从浮点数转完int就是0了 或者可以这么理解: (int)(x+y) = 11 11%2 = 1 1/4 = 0 (因为int运算只取整数部分)

根据运算符优先级,先算x+后面的。a%3就是7对3取余,至此算式简化为:x+1*(int)(x+y)%2/4。1*可以省略,先算括号里的,再次简化为x+(int)7.2%2/4。此时将7.2转为int型,算式变为x+7%2/4,先算7%2,结果为1,算式至此简化为x+1/4。而1/4...

x+a%3*(int)(x+y)%2/4 //先算(int)(x+y),x+y取整得7 =x+a%3*7%2/4 //算a%3=1 =x+1*7%2/4 //算1*7=7 =x+7%2/4 //算7%2=1 =x+1/4 //算1/4=0 =x+0 =2.5

得3.5 按运算符优先级,求解步骤: [1](x+y)=2.5+4.7=7.2 [2] (int)(x+y)=7 [3] a%3=7%3=1 [4] 1*7=7 [5] 7%2=1 [6] 1%4=1 [7] x+1 = 2.5+1 = 3.5 ---- 程序验证: #include int main(){ float x=2.5,y=4.7; int a=7; float v; v=x+a%3*(int)(...

()运算级最高 先做(x+y)结果为7.2 然后做(int)7.2 结果为7* / % 的优先级相同 结合方向是自左至右 即(((a%3)*7)%2)/4 得出的结果再与x运算

解题步骤: 1、(int)(2.5+4.7)=(int)(7.2)=7,式子变 x + a%3 *7 %2/4; 2、a%3=1,式子变 x + 1 *7 %2/4; 3、1*7=7,式子变 x + 7 %2/4; 4、7 %2=1,式子变 x+1/4; 5、1/4 整数除整数的除法先做,商得 0,式子变 x + 0; 6、x+0=2.5 + 0=2.5...

int a = 7; float x = 2.5, y = 4.7; x+a%3*(int)(x+y)%2/4? 这个主要是考数据类型优先级及其转换的. (unsigned)char/short->int->unsigned int->long->unsigned long->long long->unsigned long long->double..... 另外float一律转换成double

一共出现这么几个操作符:(),+,*,%,/,() 优先级顺序依次为:(分块),(强制类型转换),*,+,/,%,其中 / 和 % 优先级相同 所以运算的顺序应该是: 1.执行分块 (x+y) = 2.5 + 4.7 = 7.2; 2.执行强制转换 (int)7.2 = 7; 3.做乘法运算 3 * 7 = 21; 4.现在...

下面是一步步的演算过程,其实就是java运算符优先级的问题,最后就是一个自动转型的问题,建议楼主不清楚运算优先级的时候多用挂号()x+a%3*(int)(x+y)%2/4 2.5+7%3*7%2/4 2.5+1*7%2/4 2.5+7%2/4 2.5+1/4 2.5+0 2.5

public class T0609 { public static void main(String args[]) { int a=7; float x=2.5f; float y=4.7f; System.out.println(x+a%3*(int)(x+y)%2/4); } } ===========测试结果============= 2.5 说明: 这个关键是优先级问题 1)括号永远优先级最...

网站首页 | 网站地图
All rights reserved Powered by www.xcsc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com