数据类型类型隐式转换

一、算术运算符中的转换规则

注意:以下转换都是在运算过程中自动转换的

  • 横向转换

  图中的横向转换表示在运算过程中必须进行转换,即使运算符两边的数据类型相同也要发生转换,例如两个short型的数据进行加法操作,需要将这两个数据先转换成int型再做运算,运算结果也为int型。

  • 纵向转换

   图中的纵向箭头是指在运算符两侧数据类型不同是需要进行的转换。例如long型数据和int型数据做加法运算,需将int型数据转换成long型数据,运算结果也是long型数据。

二、赋值运算符中的转换规则

    在赋值运算中,赋值号两边量的数据类型不同时, 赋值号右边量的类型将转换为左边量的类型。 如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度, 丢失的部分按四舍五入向前舍入。

注意:常量的默认转换类型:

1.整型常量的默认数据类型是int类型,即有符号整型。

2.浮点数常量的默认类型是double类型,即长浮点数类型。

三、输出时的转换

    在程序中将数据用printf函数以指定格式输出时,当要输出的盐据类型与输出格式不符时,便自动进行类型转换,如一个long型数据用整型格式(%d)输出时,则相当于将long型转换成整型(int)数据输出;一个字符(char)型数据用整型格式输出时,相当于将char型转换成int型输出。

注意:较长型数据转换成短型数据输出时,其值不能超出短型数据允许的值范围,否则转换时将出错。

猜你喜欢

转载自blog.csdn.net/qq_41727218/article/details/81583940