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 求解题...

()运算级最高 先做(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...

根据运算符优先级,先算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...

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

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

x+a%3*(int)(x+y)%2/4 =x+7%3*(int)(7.2)%2/4 =x+7%3*7%2/4 =2.5+1*7%2/4 =2.5+4%2/4 =2.5+0/4 =2.5

算术运算符是按左结合性运算的,即从左到右,强制类型转换优先级高于求余运算。 1. a%3=1 2. (int)(x+y)=7 3. 1*7=7 4. 7%2=1 5. 1/4=0 6. X+0=2.5

下面是一步步的演算过程,其实就是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

% 数学中的 mod * 乘法 / 除法 (int)(x+y)强制把 x+y 的结果转换为 整型

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

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