一. 机器语言--->汇编语言--->C语言之间的关系
1. 机器语言是能识别0和1.
比如加号+: 对应的机器语言是: 0100 0000
-: 对应的机器语言是: 0100 1000
*: 对应的机器语言是: 1111 0111 1110 0000
/: 对应的机器语言是: 1111 0111 1111 0000
机器语言难以记忆, 做任何的运算都需要记住大量的01. 因此在机器语言的基础上发展出来了汇编语言
2. 汇编语言
相对机器语言来说, 汇编语言更简单了, 他使用符号来代表对应的指令
比如 加法 +: 汇编语言是 INC EAX, 对应的机器语言是 0100 0000
_: 汇编语言是 DEC EAX, 对应的机器语言是: 0100 1000
*: 汇编语言是 MUL EAX, 对应的机器语言是: 1111 0111 1110 0000
/: 汇编语言是 DIV EAX, 对应的机器语言是: 1111 0111 1111 0000
汇编语言相对于机器语言来说, 记忆起来方便多了. 那么汇编语言, 机器能识别么? 机器肯定是不能直接识别 INC EAX是加法的. DEC EAX是减法. 这就需要编译器, 将汇编语言解析成机器可以识别的0和1
所以, 如果想学好汇编语言, 就需要记住他里面各种符号代表的是什么意思.
3. 高级语言
汇编语言相对机器语言已经简单的多了, 但是, 他依然不符合我们的日常生活习惯. 我们的习惯是, 加法用+, 减法用- . 那么随着发展, 就出现了C语言, C语言就称为高级语言
比如: 同样是加法 在C语言中表示就是 +
-
*
/
这是符合我们人类思维方式的. 那么问题来了, 计算机怎么能认识我们写的 + - * /呢? 计算机肯定不认识, 所以又有了编译器, 编译器将 +-*/转换成了0和1, 交给机器来执行.
由此可见, 并不是语言高级了,而是编译器更高级了. 编译器越强大, 代码写的越简单, 越符合人类的习惯