c语言的隐式(自动)数据类型转换

转载 2018年04月17日 11:29:15

转载自  https://blog.csdn.net/u010815257/article/details/50178499

一.算术运算符中的转换规则:

double ←── float 高

long

unsigned

int ←── char,short 低

注意:图中横向箭头表示必须的转换,如两个float型数参加运算,虽然它们类型相同,但仍要先转成double型再进行运算,结果亦为double型。纵向箭头表示当运算符两边的运

算数为不同类型时的转换,如一个long 型数据与一个int型数据一起运算,需要先将int型数据转换为long型, 然后两者再进行运算,结果为long型。所有这些转换都是由系统自动

进行的, 使用时你只需从中了解结果的类型即可。这些转换可以说是自动的。

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

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

丢失的部分按四舍五入向前舍入。

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

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

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

三.输出时的转换:

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

换成整型(int)数据输出;一个字符(char)型数据用整型格式输出时,相当于将char型转换成int型输出。

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


C语言隐式数据类型转换

C的隐式数据类型转换:C语言中发生隐式数据类型转换的4种情况: 1.算数运算式中 2.赋值表达式中 3.函数调用参数传递时 4.函数返回返回值时1.算数运算式中进行算数运算时,不同数据类型必须...
  • codeTZ
  • codeTZ
  • 2016-04-17 20:32:29
  • 424

C语言算术运算中数据类型的自动转换

  • qq_31392907
  • qq_31392907
  • 2017-06-12 00:21:25
  • 200

c语言中数据类型的自动转换原则

由低级向高级转换的原则 最近几天参加一公司招聘,其中有一道笔试题是这样的: 如下程序的输出结果是? #include int main() { unsigned int a=6; int b=...
  • MyLinChi
  • MyLinChi
  • 2016-10-12 22:18:25
  • 1723

42 C语言数据类型转换

C语言数据类型转换
  • czg13548930186
  • czg13548930186
  • 2017-06-02 13:39:56
  • 1477

C语言隐式类型转换的规则

C语言隐式类型转换的规则隐式类型转换规则......
  • tuzhao
  • tuzhao
  • 2016-04-26 11:17:02
  • 1918

C语言基本数据类型及转换规则

C语言的基本数据类型;有点奇怪的是为什么float和double不用signed/unsigned修饰。 符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输...
  • Since20140504
  • Since20140504
  • 2014-05-08 16:04:13
  • 2580

万恶之源:C语言中的隐式函数声明

1 什么是C语言的隐式函数声明在C语言中,函数在调用前不一定非要声明。如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码。下面是一个例子:int main(int a...
  • smstong
  • smstong
  • 2016-01-15 14:49:33
  • 6343

C语言程序,差分算法,显示格式隐式格式

  • 2009年07月15日 18:34
  • 1KB
  • 下载

C语言中数据类型的自动类型转换

非常的重要的声明: 这篇博客的内容,主要参考网友的博客。 尊重知识产权,尊重原创!一、 C在以下四种情况下会进行隐式转换: 算术运算式中,低类型能够转换为高类型。 赋值表达式中,右边表达式的值自动...
  • QCZTZSWT357
  • QCZTZSWT357
  • 2017-06-16 21:05:53
  • 701

python数据类型转换笔记

python 数据类型转换: int(x[,base])   将x转换为一个整数 float(x)  将x转换为一个浮点数 complex(real[,imad])   创建一个复数 str(...
  • weixin_37859618
  • weixin_37859618
  • 2018-03-20 09:54:04
  • 7
收藏助手
不良信息举报
您举报文章:c语言的隐式(自动)数据类型转换
举报原因:
原因补充:

(最多只允许输入30个字)