失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > C语言各类数值型数据间的混合运算

C语言各类数值型数据间的混合运算

时间:2018-09-26 14:52:18

相关推荐

C语言各类数值型数据间的混合运算

先给个例题,答案在最后

假设已说明 i 为整型变量,f 为单精度实型变量,d 为双精度实型变量,则表达式10+‘a’+i*f-d 最后所得值的数据类型为( )

A.字符型 B.整型 C.单精度实型 D.双精度实型

整型、单精度型、双精度型数据都可以混合运算。字符型数据可以与整型通用,也就是说,整型、实型(包括单、双精度)、字符型数据间可以混合运算。

⚠️注意,不同类型的数据类型要先转换成同一类型,然后进行运算。如下图所示。

1、图中横向向左的箭头表示一定要转换。

例如,float型数据在运算时一律转换成双精度,以提高运算精度(即使是两个float型数据相加,也先都化成double类型,然后再相加)。

字符型数据必定转换成整数,short型转换成int型。

2、纵向的箭头表示当运算对象为不同类型时转换的方向。

例如,int型与double型数据进行运算,先将int型的数据转换成double型,然后在两个同类型(double型)数据间进行运算,结果为double型。

说明:

(1)当单、双精度浮,点型数据赋给整型变量时,浮点数的小数部分将被舍弃。

(2)当整型数据赋给浮点数变量时,数值上不发生任何变化,但有效位增加。

(3)如果算术运算符两个运算对象都为整数,那么,运算将按照整型数据的运算规则,这就意味着对于除法运算来讲,其结果的小数部分将被舍弃。在这种情况下,即使运算结果赋给浮点型变量也是一样的,结果的小数部分也将被舍弃。

例如:

float b;

int a=8;

b= 20/a;

b的结果是2.0,而不是2.5。

(4)只要某个算术运算对象中有一个是浮点型数据,其运算将按照浮点型规则来进行,即运算结果的小数部分被保留下来。

答案:D

如果觉得《C语言各类数值型数据间的混合运算》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。