我们要学习的编程语言是C++,因为自1998年起大学先修课程考试就基于C++语言了。之前的考试用的是Pascal语言。C++和Pascal都是高级语言,你或许也听说过Java、C和FORTRAN等其他高级语言吧。
从“高级语言”这个名字可以推断,应该同样存在低级语言,低级语言一般也称为机器语言或汇编语言。不严格地讲,计算机只能执行低级语言编写的程序。正因如此,高级语言编写的程序需要经过翻译才能运行。翻译也要消耗时间,这是高级语言的一个小缺点。
但高级语言的优势是巨大的。首先,使用高级语言编程要容易得多,“容易”意味着编程时间更少,代码更简短易读,出错的可能性更小。其次,高级语言是可移植的,也就是说程序只需要很小的改动甚至不需要改动就可以在各类机器上运行。而低级语言编写的程序只能在某一种机器上运行,必须重写才能支持其他类型的机器。
正因为这些优点,几乎所有的程序都是用高级语言编写的,低级语言仅用于一些特殊的应用场合。
有两种翻译程序的方式:解释和编译。解释器读取高级语言程序并执行程序语句。实际上,解释器采用的是逐行翻译的方式,每读一行就执行该行,然后读取下一行,交替进行。
编译器读取高级语言程序,并在执行程序命令之前全部翻译好。通常,对程序进行编译是独立的一步,之后才能执行编译好的代码。在这种情况下,高级语言程序称为源代码,而翻译后的程序称为目标代码或可执行程序。
比如使用C++编程序时,你可以使用文本编辑器编写代码(文本编辑器是一个简单的字处理器),写好之后,将它保存在一个名为program.cpp的文件中,其中“program”可以是你起的任意名字,而“.cpp”是约定的C++源代码文件后缀。
然后,你可以离开文本编辑器并运行编译器(具体情况取决于你的编程环境)。编译器读入源代码,翻译之后,会创建一个名为program.o的目标代码文件,或者名为program.exe的可执行文件。
编译完成之后,下一步就是执行程序,执行需要某种执行器。执行器负责加载程序(把程序从磁盘复制到内存)并让计算机启动执行程序。
这个过程可能看起来很复杂,但不必担心,大多数编程环境(有时也称作开发环境)已经将这些步骤自动化了。一般而言,你需要做的就是编写代码,然后敲一个命令就能编译和运行程序。另一方面,理解这个过程背后的步骤是有意义的,出错的时候你能更好地找出问题所在。