编程语言就是一个人类好理解的语言,人类编译好之后由编译器翻译为机器语言,机器再去执行。
CPU只认识二进制的 0 和 1 ,CPU中文名就是中央处理器 CPU之所以有32位、64位区分,是因为CPU内部有组合好的0和1的指令集,我们编译好程序之后,由编译器翻译成机器码,好让CPU认识并执行。
机器语言也是机器码,就是第一代编程语言。
以下是一些示例:
- 指令部分的示例
- 0000 代表 加载(LOAD)
- 0001 代表 存储(STORE)
...
- 寄存器部分的示例
- 0000 代表寄存器 A
- 0001 代表寄存器 B
...
- 存储器部分的示例
- 000000000000 代表地址为 0 的存储器
- 000000000001 代表地址为 1 的存储器
- 000000010000 代表地址为 16 的存储器
- 100000000000 代表地址为 2^11 的存储器
- 集成示例
- 0000,0000,000000010000 代表 LOAD A, 16
- 0000,0001,000000000001 代表 LOAD B, 1
- 0001,0001,000000010000 代表 STORE B, 16
- 0001,0001,000000000001 代表 STORE B, 1
---来自wiki 维基百科。机器语言 - 维基百科,自由的百科全书 (wikipedia.org)
第二代编程语言就是汇编语言,它通过助记符来转换成机器码,这个转换的过程我们就称为编译。
---素材来自网络 https://zh.wikipedia.org/zh-cn/File:Motorola_6800_Assembly_Language.png
这样还是对人类不是很友好,所有C语言这种,第三代编程语言被研发出来了,这就是高级语言。
一段简单的打印 hello world 程序,C语言只用了短短几行,而机器语言需要上百行代码。
实际上我们编译C语言,编译器会编译为汇编语言,最后编译为机器语言给计算机执行。
C语言有三大优点 效率高,灵活度高,可移植性高。
#include <stdio.h>
int 效率高():
{
C语言效率高在 C语言是编译型语言,
源代码可以直接编译为可执行文件,比如.exe。
还有一种编程语言是解释型语言比如JAVA、Python,
这种是源代码翻译为字节码,再由解释器翻译给CPU来执行。
这样的好处是可以跨平台执行,缺点就是效率低一些,因为每次执行都需要翻译一次。
return 0;
}
#include <stdio.h>
int 灵活度高():
{
C语言可以做到对计算机底层的执行,后续通过指针学习这一点。
return 0;
}
#include <stdio.h>
int 可移植性高():
{
C语言的源代码不需要改动或很少的改动就可以在别的机器上编译并执行,
因为不管是什么嘛操作系统多少都和C语言有一点关系。
return 0;
}
C语言是一个高效,深入底层的编程语言,想学编程最好就要从C语言开始打好基础,欢迎跟着我的频道一起学习C语言。