
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内计算机编程开发课程,而本文我们就通过案例分析来简单了解一下,C语言编程基本数据类型与转换方法。
数据类型是程序的基础:他告诉我们数据的意义以及我们能在数据上执行的操作。
C语言中定义了很多数据类型,有基本数据类型,自定义的构造数据类型(C语言中的结构体,C++中的类),还有指针类型.......这次主要讲的是基本数据类型,结构体和指针会在后面进行复习阐述。
自动类型转换
自动类型转换是编译器默认的、隐式的进行的数据类型转换,这种转换不需要程序员的干预,会自动发生。
在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边变量的类型,这可能会导致数据失真,或者精度降低;所以说,自动类型转换并不一定是安全的。对于不安全的类型转换,编译器一般会给出警告,例如将一个double类型的数据转化为int类型的数据,double占8个字节,int占四个字节,强制类型转换其实就是把double多余的部分剪掉,让8字节的数强制去掉很多位数编程4字节的数,必然会造成精度缺失。
在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。转换的规则如下:
转换按数据长度增加的方向进行,以保证数值不失真,或者精度不降低。例如,int和long参与运算时,先把int类型的数据转成long类型后再进行运算。
所有的浮点运算都是以双精度进行的,即使运算中只有float类型,也要先转换为double类型,才能进行运算。
char和short参与运算时,必须先转换成int类型。
强制类型转换
自动类型转换是编译器根据代码的上下文环境自行判断的结果,有时候并不是那么“智能”,不能满足所有的需求。如果需要,程序员也可以自己在代码中明确地提出要进行类型转换,这称为强制类型转换。
自动类型转换是编译器默默地、隐式地进行的一种类型转换,不需要在代码中体现出来;强制类型转换是程序员明确提出的、需要通过特定格式的代码来指明的一种类型转换。换句话说,自动类型转换不需要程序员干预,强制类型转换必须有程序员干预。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。