float f1=2.6 f2=2.5则表达式(int )f 1+f2的值为

 我来答
一叹t
高能答主

2021-01-20 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2139 获赞数:11983

向TA提问 私信TA
展开全部

表达式(int )f 1+f2的值为:4.5。

表达式的执行过程:首先表达式先执行对f1的强制类型转换,(int)f1=2,这样就把f1的值转为整形,然后和f2进行相加的操作。

f2是浮点型的数,在进行运算的过程中,整形提升为浮点型,然后2变为浮点型的2.0,然后和2.5相加,得到结果为4.5。

扩展资料:

当操作数的类型不同,而且不属于基本数据类型时,经常需要将操作数转化为所需要的类型,这个过程即为强制类型转换。强制类型转换具有两种形式:显式强制转换和隐式强制类型转换。

在C语言中,自动类型转换遵循以下规则:

1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

a、若两种类型的字节数不同,转换成字节数高的类型

b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

显式强制类型转换:

C中显式强制类型转换很简单,格式如下:

TYPE b = (TYPE) a;

其中,TYPE为类型描述符,如int,float等。经强制类型转换运算符运算后,返回一个具有TYPE类型的数值,这种强制类型转换操作并不改变操作数本身,运算后操作数本身未改变。

参考资料来源:百度百科-强制类型转换

黄5帝
2016-06-22 · TA获得超过789个赞
知道小有建树答主
回答量:696
采纳率:0%
帮助的人:160万
展开全部
看你是赋值给哪个类型
int t;
t=(int )f 1+f2;
这个的话就整型了得到4,如果你t是float的话就是4.5.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式