收藏 分享(赏)

(9)--1-7 C语言数据类型转换.doc

上传人:职教中国 文档编号:21416881 上传时间:2023-11-02 格式:DOC 页数:2 大小:55.47KB
下载 相关 举报
(9)--1-7 C语言数据类型转换.doc_第1页
第1页 / 共2页
(9)--1-7 C语言数据类型转换.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、C语言数据类型转换数据类型转换就是将数据(变量、表达式的结果)从一种类型转换到另一种类型。例如,为了保存小数你可以将int类型的变量转换为double类型。数据类型转换的一般格式为:(type_name) expressiontype_name为要转换到的数据类型,expression为表达式。例如:1. (float) a; /把a转换为实型2. (int)(x+y); /把x+y的结果转换为整型3. (float) 100; /将一个常量转换为实型【示例】将整数转换为浮点数:1. #include 2. int main()3. int sum = 17, count = 5;4. dou

2、ble mean;5. mean = (double) sum / count;6. printf(Value of mean : %fn, mean);7. return 0;8. 运行结果:Value of mean : 3.400000需要注意的是,类型转换运算符( )的优先级高于/,(double) sum / count会先将 sum 转换为 double 类型,然后再进行除法运算。如果写作(double) (sum / count),那么运行结果就是 3.000000。这种由程序员显式进行的转换称为强制类型转换。除了强制类型转换,在不同数据类型的混合运算中编译器也会隐式地进行数据类

3、型转换,称为自动类型转换。自动类型转换遵循下面的规则:1. 若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。2. 转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。3. 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。4. char型和short型参与运算时,必须先转换成int型。5. 在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。下图

4、表示了类型自动转换的规则:【示例】自动数据类型转换。1. #include2. int main()3. float PI=3.14159;4. int s1, r=5;5. double s2;6. s1 = r*r*PI;7. s2 = r*r*PI;8. printf(s1=%d, s2=%fn, s1, s2);9. return 0;10. 运行结果:s1=78, s2=78.539753在计算表达式r*r*PI时,r 和 PI 都转换成double类型,表达式的结果也为double类型。但由于 s1 为整型,所以赋值运算的结果仍为整型,舍去了小数部分。注意是将小数部分直接丢掉,而不是按照四舍五入向前舍入。无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。请看下面的例子:纯文本复制1. #include2. int main()3. float f=5.75;4. printf(int)f=%d, f=%fn,(int)f, f);5. return 0;6. 运行结果:(int)f=5, f=5.750000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报