C语言基本知识
计算机基本组成
输入设备 输出设备 CPU 内存 硬盘
输入设备:键盘鼠标等
输出设备:显示屏等
CPU:中央处理器,一块超大规模的集成电路,是一台计算机的运算核心和控制核心,主要功能是解释计算机指令以及处理计算机软件中的数据
内存:也称内存储器,用于暂时存放CPU中的数据,以及与硬盘等外部存储器交换的数据。主存-辅存层次主要解决存储系统的容量问题,缓存-主存层次主要解决CPU和主存速度不匹配问题。内存又包括随机存储器RAM和只读存储器ROM以及高速缓存CACHE。其中RAM是最重要的。
硬盘:属于存储器的一种,能够永久存储数据。现在的硬盘主要分为固态硬盘SSD和机械硬盘
计算机硬件与程序执行
程序是保存在硬盘中的,要载入内存才能运行,CPU也被设计为只能从内存中读取数据和指令
编译系统
又称为第二类编程环境。开发者根据语言的规定编写源程序,然后进行编译、连接,生成可执行文件
C语言代码编译流程
具体流程 预处理–编译–汇编–链接
预处理:对头文件和宏定义进行处理,把xx.c编译为xx.i
编译:把xx.i编译为汇编文件xx.s
汇编:把xx.s编译成二进制文件xx.o,此时只缺少某些库
链接:链接C语言底层提供的库文件,生成可执行文件
操作 -E -S -C -O
对应生成文件 xx.i xx.s xx.o 可执行文件
计算机编码规则
任何数据在内存中存储都是以二进制的形式进行存储
不同进制之间可相互转换,八进制与十六进制可通过二进制便捷转换
C语言常量变量
常量就是使用过的数据,值不能更改,在内存中有一块专门的区域进行存储
整形常量:整数
浮点型常量:小数,指数 (3.14e8表示3.14*10^8)
字符型常量:使用单引号引起来的一个字符,字符对应一个ASCII码
字符串常量:使用双引号引起来的一串字符,以‘\0’结尾
标识常量:宏定义,用来代替某些书记,提高代码可读性。主要是原样完全替代。
数据可以改变的量,我们叫变量。在计算机中,变量关联内存空间,方便对其访问。
内存以字节为单位,一个字节占八个二进制位。
使用sizeof关键字可求数据大小。
不同系统的大小
64位:
32位: