设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
设A、B、C为逻辑变量,试回答:
什么是浮点型变量?float 和double分别对应%什么?
请问若a, b均为int型变量,x, y均为float型变量,正确的输入函数调用是( )
设整型变量m,n,a,b,c,d的值均为0。执行(m=a==b)||(n=c==d)后,m,n的值各是()
写出下面表达式运算后A的值,设原来A=12。设A和N已定义为整形变量。
为什么说a--+1的结果为3,变量a为1? 设整型变量a为2。
假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为(
设a,b为正数,且a^b=b^a,b=9a
已知:char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是( )
已知 char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是?