第5课 - 深入数据类型与变量
1.程序中数值的类型
-程序中的数值(字面量)也有类型:默认类型或者指定类型
默认类型:2为int, 0.2为double, ‘c’为char
指定类型:0.2f为float(后缀f表示float)
-C语言是类型严格的语言,字面量也有类型,使用字面量时需要考虑类型
2.问题:如果不同类型的变量(字面量)相互赋值,会发生什么?
示例分析:
编程实验:不同类型之间的赋值
实验结论:
-大类型赋值给小类型时,可能发生溢出
当数值在小类型范围内--》赋值成功
当数值超过小类型的范围--》发生溢出
-小类型可以安全的赋值给大类型
-浮点类型赋值给整型,会发生截断(小数部分丢失)
-整型赋值给浮点类型,能够成功完成
2.类型转换
C语言中不同类型的变量之间(变量与值)之间进行赋值或运算时,会发生类型转换。类型转换不改变原变量的值。
示例分析:
小知识
-开发环境(编译软件)由编辑器和编译器组成
编辑器:负责程序的编写工作(字处理软件)
编译器:负责程序的编译工作(文本变为二进制)
-C语言编译器检查类型的同时,可能做默认转换
强制类型转换(显示类型转换)
-C语言中可以进行强制类型转换
-语法规则:type name = (type)var;
-示例:
编程实验:强制类型转换
注:程序中应该尽量避免不同类型数据类型之间的转换
4.小结
-不同类型的变量(值与变量)赋值时,会发生类型转换
-类型转换不会改变原来变量的值
-类型之间可表示的范围不同,因此类型转换可能造成错误
-C语言中能够进行类型转换(强制类型转换)
-程序中应该尽量避免类型转换