C语言基础-基本数据类型(2)
一. 变量1.1 变量的存储变量根据其所属数据类型的大小在内存中开辟空间。变量也是可变的。eg:结果注意当创建变量不初始化时系统会自动初始化成随机值这里的随机值是01.2各种类型的变量1.2.1 整型变量注意int类型打印用%dunsigned类型打印用%ulong类型打印用%ld1.2.2 浮点变量注意float类型打印用%fdouble类型打印用%lf%.15lf表示打印到小数点后15位1.2.3 字符变量注意打印字符变量用%c字符变量存储时在内存中存储的是其ASCII码故以%d的形式打印时直接打印其ASCII码同样也可通过字符的ASCII码给字符变量赋值或者初始化。二. 表达式表达式是有类型的。表达式是有值的。结果三. 运算符3.1 双目运算符-*/两个操作数都是整型执行整型除法结果是整型。当有一个操作数是浮点数时则执行浮点数的除法结果是浮点数。%求余操作数两个操作数必须是整型3.2 单目运算符(1) 自增运算符。(2) a先加加后使用(3) a先使用后加加(4) 操作数为变量浮点数也支持自增操作--(1) 自减运算符。(2) a先减减后使用(3) a先使用后减减(4) 操作数为变量浮点数也支持自减操作3.3 赋值运算符-*/(1)左值只能是变量不能是常量表达式。(2)右值可以是变量常量表达式。(3) 如果在赋值运算符左右两侧的数据类型不一样时会按照以下规则进行转换a. 将浮点数给整数赋值则会丢弃小数部分b. 将整数给浮点数赋值则会扩展小数位c. 如果左右两边占用内存空间大小相同则完成内存的拷贝d. 内存空间小的赋值给内存空间大的如果最高位是0则全补0如果最高位是1则全补1e. 内存空间大的赋值给内存空间小的则会发生高位截断复合赋值运算符3.4 其他运算符关系运算符 !逻辑运算符 || !逗号sizeof: 求常量变量数据类型所占内存空间的大小单位为字节。3.5 运算符的优先级与结合性优先级单目双目三目赋值逗号算术运算符移位运算符关系运算符位运算符逻辑运算符结合性自右向左条件运算符(? :)赋值运算符单目运算符其余大部分都是自左向右结合四. 混合数据类型1. 如果相同类型的数据进行运算 结果是相同类型2. 如果不同数据类型进行运算就会发生隐式类型转换 。隐式转换(自动转换)会把低精度的数据类型向高精度的数据类型转换。如果相同类型会向内存空间占用大的转换 例如int会向unsigned int转。4.1 隐式类型转换规则4.2 显示类型转换/强制类型转换结果