文章目录
C语言概述:
语言是人与人交流,C语言是人和机器交流
优点:
代码量小
执行速度快
功能强大
编程自由
缺点:
写代码实现周期长
可移植性差
过于自由,经验不足易出错
对平台库依赖较多
标识符命名规则:
不能使用系统关键字
允许使用字母数字下划线
不允许数字开头
标识符区分大小
见名知义
C语言编译步骤:
1.预处理(hello.i ):宏定义展开、条件编译等,同是将代码中的注释删除,这里并不会检查语法
2.编译(hello.s):检查语法,将预处理后文件编译生成汇编文件。
3.汇编(hello.o):将汇编文件生产目标文件(二进制文件)
4.链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去。
常见代码问题:
1.编辑时异常
2.编译时异常
3.执行时出错
汇编语言:
mov=移动
add=添加
push=压栈
call=调用
eax 32位寄存器
简单加法计算:
//___asm
//{
// mov a, 10
// mov b, 20
// mov eax, a
// mov eax, b
// mov c, eax
//}
断点和单步调试:
断点:在选中行单击或者按F9
调试程序:在“调试”中选择“开始调试”或者按F5
逐语句执行:F11
逐过程执行:F10
跳出过程:Shift+F1
停止调试:Shift+F5
CPU内部结构域
寄存器 64位和32位系统区别:
- 寄存器是CPU内部最基本的存储单元。
- CPU对外是通过总线(地址、控制、数据)来和外部设备交互的,总线的宽度是8位,同时CPU的寄存器也是8位,那么这个CPU就叫8位CPU。
- 如果总线是32位,寄存器也是32位的,那么这个CPU就是32位CPU。
- 有一种CPU内部的寄存器是32位,但总线是16位,准32位CPU
- 所有的64位CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以识别32位的指令。
- 在64位的CPU架构上运行64位的软件操作系统,那么这个系统是64位。
- 在64位的CPU构架上,运行了32位的软件操作系统,那么·这个系统就是32。
寄存器、缓存、内存三者关系
按与CPU远近来分,离得最近的是寄存器,然后缓存(CPU缓存),最后内存。
C语言头文件
<stdio.h> std是一个标准库,i =input o =output 标准输入输出库 .h头文件
system的使用
功能:在已经运行的程序中执行另外一个外部程序
参数:外部可执行程序名称
返回:
成功:0
失败:任意数字
代码示例:
#include<stdio.h>
#include<stdlib.h>//系统命令头文件
int main()
{
//cmd命令 calc=计算器 记事本=notepad 画图板=mspaint
//system可以打开一个外部应用程序
//system("calc");
int value;
value = system("calc");
//%d是一个占位符,表示输出一个整型数据
printf("%d\n", value);
return 0;
}
总结:cmd命令 calc=计算器 记事本=notepad 画图板=mspaint
<stdio.h> std是一个标准库,i =input o =output 标准输入输出库 .h头文件