类型转换

隐式类型转换

发生的情况:
	1.运算符转换
	(1)运算转换规则
	把不同数据类型混合运算时,不同类型数据参与运算时先自动转换为同一类型
	(2)为什么需要类型转换 ,便于硬件的实现
	(3)类型转换
				规则一
					char、short自动转换为int,float自动转换double
						结果类型与转换后的类型相同
				规则二 
					相同类型(除char,short,float型外)的操作数 作运算的结果为同一类型
				规则三
					不同类型,先按规则一转换,还有不同类型,则 再按低级别转换为高级别,其结果类型与转换后的类型相同
	(4)各类型的级别高低
					char<short <=unsigned<=long<=unsingned long<float<double 
				若整数,双目运算符两边一个是有符号的一个是无符号的,同类型则结果为无符号的
				注意:unsigned char,unsigned short会转换为int
	2.赋值转换
		(1)把一个值赋给与其类型不同的变量时
			赋值号右边类型转换为左边类型
			同类型,无符号与有符号之间赋值,相当于把等号左边内存拷贝到右边内存
		(2)长的赋给短的类型
				把长的类型地位,拷贝给短的类型
		(3)短的赋给长的类型
				根据短的类型是否为有符号
				有符号,符号位扩展到长类型的宽度,然后赋给长整型
				无符号高字节填零,赋给长整型
	3.输出转换
		输出时转换为指定的类型格式
			printf会把char,short提升到int型,在传给printf,float提升到double类型再传给printf 
	4.函数调用转换
		实参与形参类型不一致时转换

强制类型转换

1.一般形式(类型名)(表达式)
2.例
(int)(x+y)
(int)x+y
(double)(3/2)
(int)3.6
说明:强制 转换得到所需类型的中间变量(即结果类型转变为所需的变量),原变量类型不变 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值