作业帮 > 综合 > 作业

C语言 就下面算术表达式的值

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 11:20:37
C语言 就下面算术表达式的值
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
大侠们,
我是菜鸟
请大侠们注意一下,第一题标准答案:2.5,第二题标准答案:3.5.
C语言 就下面算术表达式的值
1、注意运算符的优先级.括号的优先级最高,%,*,/的优先级相同.(int)是强制类型转换,把int后面的数转换成int型,float同理.
所以计算是:2.5+2%3*(int)(3.5+2.5)%2/4=2.5+2*0/4=2.5
这里2.5+3.5=6.0,6.0被强制转换成int型,变成整数6.
2.先进行强制转换再计算值.
(float)(2+3)/2+3%2=2.5+1=3.5
这里(2+3)被转换成float型,所以(2+3)/2=2.5.
ps:现在c++里强制转换不用这样的形式了,用static_cast(x)这样的形式.