第一讲:数据类型与变量常量 数据类型与变量常量数据类型内置类型字符型char1字节整型int4字节浮点型分为单精度float 4字节双精度double8字节布尔类型表示真假的值_Bool其中规定0为假非0为真如1100-1等非零数类型修饰符与内存长度有关的改变占用内存的长度short短整型2字节long长整型4字节long long长长整型8字节补充sizeof是操作符用于计算数据在内存中占用的字节数%zu是专门用来输出 size_t 类型数据的格式控制符。单位是字节Byte。一个比特bit存储一个二进制数。1Byte8bit如printf(“%zu\n”,sizeof(char));会打印1。因为char是字符类型占一字节。%zu以十进制形式打印 size_t 数值与符号相关专门修饰字符型和整型类型signed关键字表示一个类型带有正负号有正整数负整数和0unsigned关键字不带有正负号的所以只能表示0和正整数ASCII码相关知识首先必须记住几组特殊的值小写字母a是97大写字母A是65.其余字母依次递增。也就是说小写a-32大写A其他同理。0-9是48-57换行符\n是10其中0-31这32个字符是不可以打印的字符也就是无法在屏幕上显示观察。转义序列目的是为了程序可以处理字符集中每一个字符字符转义序列数字转义序列\ddd表示1-3个八进制数字\xdd表示2个十六进制数字变量常量都是用来存储数据的变量的知识有命名规则只能由字母下划线和数字组成。且数字不能放在开头。分类全局变量在函数之外定义的变量作用域从定义位置开始到整个源文件末尾都存在。生命周期在程序启动时创建结束时销毁存储在内存的静态存储区/数据段。初始值如果没有显示初始化系统会自动初始化为0。谨慎使用过多的全局变量会导致模块间耦合度高调试困难。局部变量在大括号内部定义的变量作用域仅限定义于它的函数或代码块内部。生命周期程序退出时自动销毁存储在内存的栈区。初始值如果没有显式初始化其值是垃圾值会报错是不确定的随机值。局部变量的优先级高于全局变量。常量的知识字面常量 有字符整型十进制八进制以0开头十六进制以0x开头符号常量名字通常为大写如#define PI 3.1415926const修饰的常变量在定义变量的前面加上const意味着初始化赋值之后不能再修改它的值。也就是只允许读取不允许通过变量名修改内容。