cpu 内存条 硬盘 显卡 显示器 主板之间的关系
用电影如何运行起来的例子来说明
- 鼠标双击电影图标 ---- 这个事情由操作系统来做
- 双击的目的是,把存放在硬盘的电影数据,搬运到电脑的内存条中。因为cpu不能直接处理硬盘上的数据,可以处理内存条上的数据。
- cpu处理完数据之后,把电影数据变成图像数据和声音数据
- 图像数据发送给显卡,通过显示器,把图像显示出来
- 声音数据发送给声卡,通过音频播放器,把声音播放出来
- 主板的作用是提供一个中间传输的装置,上面有许多插槽,cpu、内存条、硬盘、显卡、显示器等都可以插在上面。
什么是数据类型
数据类型分基本类型数据和复合类型数据
- 基本类型数据
类型 | 关键字 | 大小 |
---|---|---|
整型 | int | 4字节 |
短整型 | short int | 2字节 |
长整型 | long int | 8字节 |
单精度浮点型 | float | 4字节 |
双精度浮点型 | double | 8字节 |
单字符 | char | 1字节 |
- 复合类型数据
分为结构体、枚举、共用体,本质就是把基本类型数据,组合到一起。
什么是变量
本质上就是一段存储空间
# include <stdio.h>
int main(void)
{
int i;
i = 3;
printf("i = %d\n", i);
}
什么是变量这个问题,在很多人脑袋里面都是一个很泛的概念,都是知其然,而不知其所以然,那变量究竟是什么呢?当我们定义一个变量,我们的电脑内存条就会在任意没有被使用的地方开辟一个空间,比如说在地址为1002的这个位置上,然后这个地址就和标识符 i 建立了一种联系,也就是变量i就代表1002地址,给变量i赋值也就是给存储地址为1002的单元写数据。所有本质来说,变量就是一段存储空间。
变量为什么必须初始化
所谓初始化就是赋值的意思
内存是在操作系统的统一管理下使用的!
- 软件在运行前需要向操作系统申请存储空间,在内存空闲空间足够时,操作系统将分配一段内存空间并将外存中软件拷贝一份存入该内存空间中,并启动该软件的运行!
- 在软件运行期间,该软件所占内存空间不再分配给其他软件。
- 当软件运行完毕后,操作系统将回收该内存空间(注意:操作系统并不清空该内存空间中遗留下来的数据),以便再次分配给其他软件使用。
综上所述,一个软件所分配到的空间中极可能存放着以前其他软件使用过后的残留数据,这些数据被称之为垃圾数据。所有通常情况下我们为一个变量,为一个数组,分配好存储空间之后都要对该内存空间初始化!
如何定义变量
数据类型 变量名 = 要赋的值;
等价于
数据类型 变量名;
变量名 = 要赋的值;
举例子:
int i = 3; =====> int i; i = 3;
int i, j; =====> int i; int j;
int i, j = 3; =====> int i; int j; j = 3;
什么是进制
简单来说就是逢N进一
- 十进制
- 10个基数,逢十进一
- 基数:0、1、2、3、4、5、6、7、8、9
- 例子:0 6 12 35
- 二进制
- 2个基数,逢二进一
- 基数:0、1
- 例子:10 --> 2 110 --> 6 1111 -->15
- 八进制
- 8个基数,逢八进一
- 基数:0、1、2、3、4、5、6、7
- 例子:10 --> 8 110 -->72 57 --> 47
- 十六进制
- 16个基数,逢十六进一
- 基数:0、1、2、3、4、…、A、B、C、D、E、F
- 例子:A --> 10 1F --> 32 12 --> 1
常量在C语言中是如何表示的
- 整数
十进制: 传统的写法
十六进制: 前面加0x或者0X
八进制: 前面0 注意是数字不是字母o
- 浮点数
传统的写法
float x = 3.2;
科学计数法
float x = 3.2e3; // x的值是3200
float x = 123.45e-2 // x的值是1.2345
- 字符
单个字符用单引号扣起来
'A'表示字符A
'AB' 错误
"AB" 正确
字符串用双引号括起来
"A" 正确,因为"A"代表了 'A' '\0'的组合
常量以什么样的二进制代码存储在计算机中
- 整数是以补码的形式转化为二进制代码存储在计算机中的
- 浮点数是以IEEE754标准转化为二进制代码存储在计算机中的
- 字符的本质实际也是与整数的存储方式相同