2.2 高级语言
低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。采用了助记符的汇编语言虽然比机器语言直观且容易理解和记忆,但是由于汇编语言依赖于硬件体系,且助记符量大难记,学习和理解这样的程序对于我们来说还是非常困难,于是人们又发明了更加易用的所谓高级语言。高级语言是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字和数学公式来表示(通常用英语),其语法和结构更类似于普通英文,且由于远离对硬件的直接操作,使得人人经过学习之后都可以编程,亦有较高的可读性,以方便对电脑认知较浅的人也可以大概明白其内容。用高级语言编写的程序我们通常称之为源代码(Source code)。
高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的C、C++、C#、Pascal、BASIC、Visual Basic、Java、Python、Lisp、PHP等等,这些语言的语法、命令格式都各不相同。
用高级语言编写的程序源代码不能直接被CPU识别和执行,必须转换成对应的目标代码(机器语言)才能被识别和执行。对CPU来说母语是机器语言,而转换成机器语言的程序就是本地代码。这种转换过程被称为编译(Compile),如图2.1所示。编译过程实际上也是由一种特定的程序来执行的,我们把这种执行源代码编译任务的程序称为编译器(Compiler)。不同的高级语言因其所用的语法及命令格式都不一样,所以将其转换为目标代码(机器语言)的方式也不一样,因而每一种高级语言都有对应的编译器。比如常用的C语言编译器(C compiler)有Turb C、gcc、C-Free、Borland C++、Microsoft Visual C++等。
图2.1 C语言程序经过编译以后才能被计算机执行
C语言是现今最流行的一种编程语言。要编写C语言程序通常要在电脑上下载并安装一种C语言编译器(比如Turbo C或C-Free)。安装好C编译器以后就可以使用其提供的编辑器来编写、修改、编译、运行程序以及查看结果。通过编译源代码可以找出程序中的各种错误,如果你拼错了一条命令或者用错了某个符号,C编译器就会在编译程序时通知你(见图2.2)。程序中的错误称为bug,修正错误称为调试程序(debugging)。
图2.2 C编译器(C-Free 5.0)及用C语言编写的程序源代码(C源程序)
用C编译器编译以后的程序就是可执行程序(通常以“.exe”为文件后缀名,而C语言源程序文件都以“.c”为文件后缀名),可以在任何计算机中运行。