double型变量的问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 17:59:27
设a和b均为double型变量,且a=5.5,b=2.5,则表达式
(int)a+b/b的值是(D)
A6.500000 B6 C5.500000 D6.000000
为什么选择D呢,???

其实这个题的重点有2个地方。
1。
你要知道运算符的优先级。*和/比+和-优先级高。所以先算B/B等于1。
2。
(int)代表显示声明变量的转化。所以你本来是double形的但是转化为int形的了。所以C语言默认的是int形直接忽略小数点之后所有数。所以运算结果等于5。这样5+前面的double形1.0000就成了6.00000。

楼上的错了
顺序错了

将a强制转化为int(整形)这时a的值为5
加上b/b(值为1.000000) 这个加号后的量仍为double型
所以 一个整形加一个double 计算完的结果会转化为更为精确的
double型 所以是6.000000

的确是应该选D! 首先分析 a+b/b = 5.5 + 2.5/2.5 = 6.5 int函数表示取整(而不是四舍五入)的意思,也就是说只是取 6.5 的整数部分(即 6 ),然而又是double型所以加6个0 ,即6.000000