特工行动1女主角皮帕:(float)(a+b)/2+(int)x%(int)y的值为多少?
来源:百度文库 编辑:神马品牌网 时间:2024/05/13 16:16:13
设a=2,b=3,x=3.5,y=2.5
本题正确答案为3.5
可我觉得应该是这样2+3%2=2+1=3
虽然左边float强制的仅仅是定义5.0实型,没有定义后面的除法运算符(根据向0取整,结果就为2)......不知道哪儿出错了?
注:float型/2等于几?(问题不是求float与int之间的关系)
注:除法运算的结果是整数!!!就算是10.4/2结果也应该是5
本题正确答案为3.5
可我觉得应该是这样2+3%2=2+1=3
虽然左边float强制的仅仅是定义5.0实型,没有定义后面的除法运算符(根据向0取整,结果就为2)......不知道哪儿出错了?
注:float型/2等于几?(问题不是求float与int之间的关系)
注:除法运算的结果是整数!!!就算是10.4/2结果也应该是5
首先,我们假设a=2,b=3,x=3.5,y=2.5,其运算过程如下,
(1)a+b=5(float型)
(2)5(float型)/2(int型)=2.5(float型)
(3)(int)x=3,(int)y=2
(4)(int)x%(int)y=3%2=1
(5)2.5(float型)+1(int型)=3.5(float型)
a,b,x,y取其他值其计算过程类似。
这题中设计到类型的自动提升,关于类型的自动提升规则:
第一,所有的short型和char型的值在于int型计算时将被提升到int型;
第二,如果一个操作数是long型,计算结果就是long型;
第三,如果一个操作数是float型,计算结果就是float型;
第四,如果一个操作数是double型,计算结果就是double型。
5.0是实型
float/int 结果是 float型
书没看透
表达式中数据类型的转换:
当在一个表达式中有不同类型的变量或常量时,要遵循一定的原则进行转换。可以理解为从大到小
char - int - float - double
int a=2,b=3; float x=3.5,y=2.5; (float) (a+b)/2+(int)x%(int)y怎么算?
(float)(a+b)/2+(int)x%(int)y的值为多少?
a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x/(int)y的值?
a^2+b^2/a+b
定义float a=25,b,*p;scanf("%f",&b);*p=b. 这样写为什么不正确?
化简:(2a-b-c)/(a-b)(a-c)+(2b-c-a)/(b-c)(b-a)+(2c-a-b)/(c-a)(c-b)
化简:b/(a+b) + b/(a -b) +(a^2+b^2)/(a^2 -b^2)
求证:|a^2-b^2|/|a|≥|a|-|b|
b/(a+b)=(a+c+-b)/(b+c-a)=(a+b+c)/(2a+b+2c)求a:b:c=
2a-b-c/(a-b)(a-c)+ab -c-a/(b-c)(b-a)+2c-a-b/(c-a)(c-b)