C语言中的数据类型转换

前言:在C语言中,整型数据、浮点型数据和字符型数据可以进行混合运算。字符型数据可以得与整型通用。计算中分为强制类型转换和隐式类型转换,下面逐一进行介绍。

一、强制类型转换:

顾名思义,强制类型转换是人为进行的类型转换,如下:

不难发现,我们在进行计算时,强制将char类型转化为了int类型,也是可以正常进行计算的。但是无论是自动类型转换还是强制类型转换,都只是为了本次运算而进行的临时性转换,转换的结果也会保存到临时的内存空间,不会改变数据本来的类型或者值。

 二、隐式类型转换:

隐式类型转换是存在于内部的,不能认为进行操作,主要有以下几种情况:

1. 自动转换:

如图,在我们进行计算的时候,gcc之后会提示出现了两个“double”,这就意味着计算过程中float自动转换为double,通过这个警告可以看出发生了自动类型转换。

2.运算里面的转换:运算里的类型转换是比较常见的,这个时候需要注意输出的是否有提示警告,如图进行一个简单的运算:

 对int型和double型同时计算时,提示出现了两个“ double”,这就意味着int转换为double进行运算,根据提示,将%d换成%f(浮点型)进行输出;

可以看到,最终的运算结果是无误的,说明在运算中int类型的确是转换为了double类型。

3.有符号和无符号之间的转换:

在计算时,unsigned int类型转换成了signed int类型(signed可以省略),值得一提的是,(-10+5)是等于(-5)的,想想这是为什么呢?

那么,类型转换的规则是什么呢?

在进行运算时,不同类型的数据要转换成同一类型。自动转换的规则如下:

总之:类型转换的规律是纵向由低级向高级型转换,横向由float向double转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值