C语言插本自学篇

🚀1.c语言知识点🚀
🚀2.计算机的存储🚀
🚀3.c语言的数据类型🚀
🚀4.常量与变量🚀
🚀5.数据类型转化🚀

数据类型

在复杂的表达式中,可能需要显式地控制操作数的类型,以确保表达式按照预期的方式求值。类型转换可以是隐式的,也可以是显式的。隐式类型转换由编译器自动完成,而显式类型转换需要程序员使用类型转换运算符来指定。显式类型转换更加明确,可以提高代码的可读性和可维护性这里所说的隐式类型转换就是自动类型转换,显式类型转换就是强制类型转换。

一、自动类型转换(小转大)

(1)float型数据自动转换成double型:

(2)char与short型数据自动转换成int型;

(3)int型与double型数据运算,直接将imt型转换成double型

(4)int型与unsigned型数据,直接将imt型转换成unsigned型;

(5)int型与long型数据,直接将int型转换成long型:

(6)float型和int类型相乘,自动相互转化为double类型

​ 自动类型转换转换的规则:
若为字符型必须先转换成整型,即其对应的ASCII码值;若为单精度型必须先转换成双精度型;若类型不同,将低精度类型转换成高精度类型,精度从低到高的顺序
不同类型数据进行运算时,先自动转换成同一类型,然后进行计算

二、强制类型转化

可以利用强制类型转化运算符将一个表达式转化未成所需类型

强制类型转换的一般形式为:(目标类型名)(表达式)就近原则

例如:
int a=7,b=2;
float yl,y2;
y1=a/b;/ y1的值a/b为3.0 /y2=(float)a/b;…/y2的值为3.5/注意:(int)(x+y)和(int)x+y强制类型转换的对象是不同的(imt)(x+y)是对x+y进行强制类型转换。(int)x+y 只对x进行强制类型转换。

三、赋值转换

(1)整数数据赋值给单、双精度变量是,数值不点,但以浮点数形式存储到变量中

如:int a = 3 float b = a

(2)将实型数据(包括单、双精度)赋值给整型变量是,舍弃实数的小数部分

(3)短数据赋值给长变量,自定转换类型

(4)同类型的长数据给短变量赋值可能出错,例如unsigned int 类型超过int 变量的取值范围

(5)