求问这题简单c语言怎么做……求步骤
1个回答
展开全部
int a=2,b=3;
float x=3.5,y=2.5;
(float)(a+b)/2+(int)x%(int)y;
1.
(float)(a+b)/2 等同于 (float)5/2
这里的5将转换成5.0,因为/要求两边类型一样才能计算,float比int高,所以向高处转换
即最后转换成:5.0/2 .0 得数也是float;
即5.0/2 .0 =2.5
2.
因为%操作符需要两边都为int类型,所以把xy的float强制转换。
int转换成ifloat,实质就是增加小数点
float转换成int,实质就是去除小数点。
(int)x%(int)y 实质就是 3%2 求余,余数为1.
所以,最后 为 2.5+1=2.5+1.0=3.5
float x=3.5,y=2.5;
(float)(a+b)/2+(int)x%(int)y;
1.
(float)(a+b)/2 等同于 (float)5/2
这里的5将转换成5.0,因为/要求两边类型一样才能计算,float比int高,所以向高处转换
即最后转换成:5.0/2 .0 得数也是float;
即5.0/2 .0 =2.5
2.
因为%操作符需要两边都为int类型,所以把xy的float强制转换。
int转换成ifloat,实质就是增加小数点
float转换成int,实质就是去除小数点。
(int)x%(int)y 实质就是 3%2 求余,余数为1.
所以,最后 为 2.5+1=2.5+1.0=3.5
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询