2.3.2 基本数据类型和数据存储
2.3.2 基本数据类型和数据存储
TODO: 重写本页。
基本数据类型
在C语言中,我们可以将数据分为三大类:整型、浮点型和字符型 也就是整数、小数和字符
整型
最常用的整型是int 一个int数据占用4个字节的大小
插一嘴 如果想求一个数据占多大内存,可以用sizeof()求得
取值范围为 -2147483648~2147483647 int的格式化输出符号为%d
要创建一个整型变量,就要像下面这样声明
这样,我们就创建了一个名字为a的变量 当然,关于变量的更多,我们下一节再说,这里先简单介绍一下
除了int之外,我们还有其他整型,适配不同的需求 首先是较为常用的long long 占用8字节,取值范围为-9,223,372,036,854,775,808~9,223,372,036,854,775,807 格式化输出符号为%lld
然后是不怎么常用的long和short long占用4-8个字节(取决于在哪个系统),取值范围和int一样 因为不同系统间的兼容性差,不建议用
short占用2字节,取值范围为-32768~32767 因为取值范围太小,而且也只是比int少占用2个字节 因此除非为了极致的省内存,不推荐使用
浮点型
浮点型共有两种类型,分别是float和double 分别占用4字节和8字节 他们的区别是精度不一样 float可以精确到小数点后6-7位 double可以精确到小数点后15-16位
它们的格式化输出符号都是 %f 。
但对于格式化输入(如 scanf ), float 必须使用 %f , double 必须使用 %lf 。
字符型
字符型只有一种,那就是char 占用一个字节,可以存储一个字符
ASCII码
ASCII码,通俗的理解为每一个字符所对应的数字 比如,26个字母分别是65-90和97-112,分别是大写字母A-Z和小写字母a-z 可以上网搜索ASCII码表,也可以把鼠标指针放在字符上直接读取
TODO: 将码表也写在这里

数据类型之间的显式类型转换
有时候,我们希望舍去小数点后面的数据,或者将字符运算转换为数字运算 我们就需要用到数据类型的显式类型转换 数据转换需要在目标前加一个括号,写上你要显式类型转换为的类型 例如,我把一个float转换为int
这样,a就等于3了
不过上面这样,f本身的值并没有改变 因为我们只是让a等于f被显式类型转换后的结果
数据存储
一般来讲,我们运行程序时的数据,都存储在内存中(至少我们目前阶段的数据是这样) 也就是我之前讲过的十分金贵的那部分存储空间