设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是多少?

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:09:00
需要计算具体过程,这道题的运算结果是double型还是int型?为什么 谢谢

首先考虑的是运算符的优先级,“(int)”的括号属于类型转换运算符,它的优先级高于“/”和“+”所以先运算“(int)a”结果是变量a强制转换为int型,也就是由5.5变成5,然后“/”的优先级高于“+”所以先算“b/b”得到一个double型的1.0000……值,剩下就是运算“+”,“+”左边的数据类型为int型,右边的数据类型为double型(不同类型的数据进行运算是要转换成同一类型,然后再开始运算,起规则为:char,short -> int -> unsigned -> long -> double <- char 箭头指向的方向是必定的转换),所以是将“+”左边的int型转换为double型进行运算,结果为double型

首先是a转换成int类型,即a->(int)5,然后b/b是double/double,结果仍然是double类型,所以是1.0000000000000……,然后5跟1.000000……相加前,5转换为double类型,所以最后仍然是double类型

(int)a+b/b
=(int)5.5+2.5/2.5
=5+1.0000……
=6.0000……
double型

6.0000