前言
记录学习过程,若有错误,感谢指出!
一、机器语言、汇编语言、高级语言
![](https://img-blog.csdnimg.cn/f625a1d3def3402c8925deb3ad2bbfa8.png)
- 机器语言:由16进制组成,计算机可直接处理运行
- 汇编语言:
最早的程序员都是直接用机器语言编程,但是很麻烦,需要查大量的表格来确定每个数字表示什么意思,编写出来的程序很不直观,很容易出错,于是有了汇编语言,把机器语言中的一组一组数字用助记符(Mnemonic)
来表示,直接用这些助记符写出汇编程序,然后让汇编器(Assembler)
去查表把助记符替换成数字,也就把汇编语言翻译成了机器语言。从上面的例子可以看出,汇编语言和机器语言的指令是一一对应的,汇编语言有三条指令机器语言也有三条指令,汇编器就是做一个简单的替换工作
//简单的说:汇编语言就是机器语言的符号表示,汇编语言经过汇编器翻译成机器语言,计算机执行指令
- 高级语言(C语言):
C语言的语句和低级语言的指令之间不是简单的一一对应关系,一条a=b+1语句要翻译成三条汇编或机器指令,这个过程称为编(Compile)译 ,由编译器(Compiler) 来完成,显然编译器的功能比汇编器要复杂得多。用C语言编写的程序必须经过编译转成机器指令才能被计算机执行,运行编译器程序要消耗一些时间,这是一个小小的缺点,而优点则是不可胜数的。首先,用C语言编程更容易,写出来的代码更紧凑,可读性更强,也更容易改正。
其次,C语言是可移植的(Portable) 或者称为平台无关的(PlatformIndependent)
,平台这个词有很多种解释,可以指计算机体系结构(Architecture) ,也可以指操作系统(Operating System) ,也可以指两者的组合。
//简单的说:由编译器将C语言翻译成机器语言,然后计算机才能执行。并且不同编译器可翻译成不同机器语言,因此可以跨平台使用
- 编译执行过程
![](https://img-blog.csdnimg.cn/c2a26b86e62c4eada4479fc9ac5777a6.png)
- 解释执行(Python)
![](https://img-blog.csdnimg.cn/7b9d8f2309db43e3b9e69746264d684f.png)
二、Debug
编程是一个复杂的过程,因为是人做的事情,所以难免经常出错。据说有这样一个典故:早期的计算机体积都很大,有一次一台计算机不能正常工作了,工程师们找了半天原因最后发现是一只臭虫钻进计算机中造成的。从此以后,程序中的错误被叫做臭虫(Bug) ,而找到这些Bug并加以纠正的过程就叫做调试(Debug) 。
- 编译时错误
- 运行时错误
- 逻辑错误和语义错误
总结
三类语言:机器、汇编、高级
Debug产生