c语言求值,在线等,麻烦大家把过程也写上,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/07/04 19:29:03
(1) x+a%3*(int)(x+y)%2\4
设x=2.5,a=7,y=4.7
(2) (float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
麻烦写求解过程,谢谢!

x+a%3*(int)(x+y)%2\4 //除法是/
=2.5+7%3*(int)(7+4.7)%2/4 //7对3取余结果为1
=2.5+1*(int)11.7%2/4 //对11.7强制转为int为11
=2.5+1*11%2/4 //11对2取余为1
=2.5+1/4 //整型常量1/4结果为0
=2.5+0
=2.5 //最终赋给整型数结果是2.浮点数结果是2.500000

(float)(a1+b1)/2+(int)x%(int)y;
=(float)(2+3)/2+(int)3.5%(int)2.5
=2.5+3%2 //强制转换浮点型除以整型数2,中间结果是浮点数,浮点数被强制转换为整型直接舍弃小数部分
=2.5+1 //3对2取余数,结果是1
=3.5

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

2.
float(a+b)/2 + (int)x%(int)y = float(2+3)/2 + int(3.5)%(int)2.5
= (5.000000)/2+3%2=2.500000+1=3.500000
这2题主要考察的是强制类型转换