C语言基础——数据类型
数据类型
数据的表现形式
常量
- 定义
值在运行中不能改变的量 - 基本常量分类
分类 | 示例 |
---|---|
整形常量 | 1,20,300… |
实型常量 | 1.0,20.0… |
字符常量 | ‘a’,‘b’,‘c’… |
字符串常量 | “abcd”,“1234”… |
符号常量 | #define NUM 10 |
标识符
-
定义
用来表示数据类型命名的有效字符序列。 -
命名规范
由字母、数字、下划线组成
其中不能以数字开头
不能使用C语言中定义的关键字
变量
- 定义
程序运行中其值可以被改变
变量需先定义后使用 - 使用
数据类型 变量名 = 变量值
如下:
int a = 3;
常变量
- 定义
程序运行中其值不可以被改变
变量需先定义后使用 - 使用
const 数据类型 变量名 = 变量值
如下:
const int a = 3;
数据类型的分类
整型
-
特点
*通常占用4字节(由编译系统决定)
*以整数补码的形式存放 -
分类
int、short int 、long int、long long int
(实际使用中最常用的还是int 表示的数最大是2^15次方)
其中long>int>short
有符号和无符号数
说点基础的:
0000 0000 0000 0000 0000 0000 0000 0000
以上为int类型数据的逻辑表达
数值是以二进制存储,假设存储数据为2,则表示为
0000 0000 0000 0000 0000 0000 0000 0010
以此类推,最终可以表示到全为1的整数即2^16
以上可以观察到这样是无法表示负数的
若拿出最高位来作为符号位,0表示正数,1表示负数。-2则表示为
1000 0000 0000 0000 0000 0000 0000 0010
这样最高位就无法再存储数据
最高位为0,其余为1时表示 +2^15
最高位为1,其余为1时表示 -2^15
浮点型
-
作用
存储小数 -
分类
double(8字节,15位有效数字)、float(4字节,6位有效数字)
数据的存储
二进制数
在整形的存储中已经提及到,数据在内存中的存储形式,下面简单说一下二进制与十进制数的转换。
通俗来讲也就是1248转换,可以很快的计算,也就是2的次方
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
简单的表示
十进制 | 二进制 |
---|---|
1 | 0000 0001 |
9 | 0000 1001 |
11 | 0000 1011 |
…… | …… |
以此类推,就是二进制由0变为1,十进制相加。
ASCII码
ASCII码用最简单的话来理解就是将数字表示为有意义的数
例如:‘a’ 表示为数字97,也就是当系统编译时,遇到a会将其转化为对应的ASCII码的值,以便于存储和计算。
附一张ASCII码表
数据和内存
此处以int类型为例:
int类型有4个字节,在内存中实际存储的数据是这样的
0000 0000 |
---|
0000 0000 |
0000 0000 |
0000 0000 |
…… |
其中一个0或1占据的存储空间称为位
一行表示为一个字节
整形有四个字节,以上就是一个整形数据的表示
为了使结构体系完整不得不将一下内容也列举上,并在以后不断完善。