假定int a=2,b=3 ,c=0,则(!c+a==b)+(float)(3*b/a)/2+!cos(90.0)的值是
假定inta=2,b=3,c=0,则(!c+a==b)+(float)(3*b/a)/2+!cos(90.0)的值是——A。3.0B。3.25C。4.0D。4.25答案应...
假定int a=2,b=3 ,c=0,则(!c+a==b)+(float)(3*b/a)/2+!cos(90.0)的值是——
A。3.0
B。3.25
C。4.0
D。4.25
答案应该是A,前面括号和后面的cos算的都是1,但是中间那一部分算出来要么是2.25要么是2.0,不知道怎么算的1.0……求高手指教 展开
A。3.0
B。3.25
C。4.0
D。4.25
答案应该是A,前面括号和后面的cos算的都是1,但是中间那一部分算出来要么是2.25要么是2.0,不知道怎么算的1.0……求高手指教 展开
展开全部
楼主你好,表达式运算时首先根据运算符优先级划分,如果运算符优先级相同,则根据向左结合原则就算
比喻说你的问题当中
3*b/a 应该可以这样结合,3*(b/a)=3*1
后面的你应该知道啦!
比喻说你的问题当中
3*b/a 应该可以这样结合,3*(b/a)=3*1
后面的你应该知道啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中间的一部风是这样的
3*b/a=3*3/2=9/2 不同的编译器取整方式不一样,大多向下取整,9/2=4
float 4=4.0
4.0/2=2.0
整个结果是
(1+0)+2.0+1答案应该是4。0也就是C
3*b/a=3*3/2=9/2 不同的编译器取整方式不一样,大多向下取整,9/2=4
float 4=4.0
4.0/2=2.0
整个结果是
(1+0)+2.0+1答案应该是4。0也就是C
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意a和b都是int,所以b/a =1
追问
先算b/a吗?那3*1结果不是3.0吗?除以二之后1.5?
追答
sorry,刚才看错,
(float)(3*b/a)/2应该是3先乘以b=9,
然后9再除以a等于4.5,
但是由于参与运算的都是整数,所以化成整数4,
但马上又被(flloat)强制转化成4.0,然后除以2得到2.0
至于cos函数,是按弧度来的,比如说cos(pai/2)=0的,所以 !cos(90.0) = !(1) = 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(!c+a==b)确实是1.0;(float)(3*b/a)/2也确实是2.0;最终的结果也确实是3.0,;所以错的是你对!cos(90.0)的计算!因为在cos中用于计算的是弧度,而不是度,所以如果你想用90.0度,那么用弧度来转换就是90.0*3.14/180,这才能表示90度的意思结果才是0,经过!后才是1.0;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询