Green 发表于 2021-8-6 12:56:23

C语言数据类型转换



               前言
上章节讲解了程序的基本交互输入,忘记了的同学可以复习哦。本章节主要讲解下C语言数据类型上面的一些转换问题。

            C语言类型转换在编程语言中,表达式包含相同数据类型或不同数据类型的数据值。当表达式包含类似的数据类型值时,它的计算没有任何问题。但是,如果表达式包含两个或更多不同的数据类型值,则必须将它们转换为目标数据类型的单个数据类型。这里,目标是存储该表达式的最终结果的位置。
例如,将整数数据值与float数据值相乘,并将结果存储到float变量中。在这种情况下,必须将整数值转换为float值,以便最终结果为float数据类型值。
在编程语言中,数据转换存在两种不同的方式

[*]隐式类型转换
            
[*]强制类型转换
            

                      隐式类型转换

类型转换是编译器自动将数据值从一种数据类型转换为另一种数据类型的过程。有时,类型转换也称为隐式类型转换。隐式类型转换由编译器自动执行。
例如,在c编程语言中,当我们将一个整数值赋给一个float变量时,整数值通过添加十进制值0自动转换为浮点值。当一个float值被赋给一个整数变量时,float值会自动转换通过删除十进制值来转换为整数值。如下代码:



ASCII码表如下:


                  强制转换语法编译器隐式地将数据从一种数据类型转换为另一种数据类型。当编译器隐式转换时,可能会丢失数据。在这种情况下,我们使用显式类型转换将数据从一种数据类型转换为另一种数据类型。为了执行此操作,我们使用一元转换运算符。要将数据从一种类型转换为另一种类型,我们将paranthesis中的目标数据类型指定为必须转换的数据值的前缀。类型转换的一般语法如下:
(要转换的类型)DataValue;
例:int total = 450,max = 600;
浮动平均值:
average =(float)total / max* 100;
在上面的示例代码中,total和max都是整数数据值。当我们执行total/ max时,结果是一个浮点值,但目标(平均)数据类型是float。因此我们使用类型转换将total和max转换为float数据类型。
所以当我们做除法的时候要注意哦,如下代码:

一般需要求余数的更多的写法是分子或者分母采用小数去计算!!

                  尾言数据类型转换一般允许占用内存小的往大的转换,大的往小的转换存在数据截取现象。
作业:计算 1/2+2/3+3/4+4/5 的值
书不记,               熟               读可记;义不精,细思可精;
惟有志不立,直是无着力处。


本文分享自微信公众号 - C语言编程基础(goodStudyCode)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。


文档来源:51CTO技术博客https://blog.51cto.com/u_15297386/3289546
页: [1]
查看完整版本: C语言数据类型转换