1.1 程序的基本概念
悟空想让电脑模仿智多星说话。如图1-1所示,悟空先用猴语幽默地对电脑大声喊:“嘿,伙计,帮我在屏幕上打印一行字符串‘大家好,我是智多星’。”可是电脑置若罔闻,它又不是猴脑,哪懂得悟空的猴语啊。悟空宽宏大量地对电脑笑笑,经过西天取经的磨练,悟空已经改了动不动就亮出金箍棒唬人的毛病。他明白,要与对方交流,就首先要熟悉对方使用的语言。
图1-1 悟空试图用猴语与电脑对话
电脑作为硬件,只懂得由“1”和“0”排列组合成的机器语言。机器语言又复杂又枯燥,悟空可不想学呆板的机器语言。幸运的是,悟空可以不必直接用机器语言和电脑对话,而只需和电脑中的操作系统软件对话进行了。
图1-2演示了悟空运行Windows操作系统中的IE浏览器程序的过程。悟空只需双击IE浏览器程序图标,聪明的Windows操作系统就明白了悟空的意图,它就会与电脑交互,请求电脑执行IE浏览器程序。Windows操作系统就像悟空与电脑之间的翻译员。
图1-2 悟空与Windows操作系统对话,让其运行IE浏览器程序
悟空如果想让电脑模仿智多星说话,只需要编写一个会打印字符串的程序,接下来让操作系统来运行这个程序就行了。以Windows操作系统为例,它的可执行程序通常都是以“.exe”作为扩展名的文件。这些可执行程序中包含了二进制的操作指令,这些操作指令只有Windows操作系统才能看得懂。悟空显然没耐心去学习这些和机器语言一样枯燥乏味的操作指令。
幸运的是,悟空可以用高级编程语言来编程,高级编程语言与猴语在语法上更加接近,比较容易掌握。不过,操作系统可不懂高级编程语言,因此,还必须想办法把用高级编程语言编写出来的源程序转换为操作系统看得懂的可执行程序,这个转换的过程就叫做编译。
如图1-3所示,悟空用高级编程语言编写了一个源程序,接下来用现成的编译器程序把源程序编译为可执行程序,然后让操作系统来运行这个可执行程序。
图1-3 程序的编写、编译和运行过程
从图1-3可以看出,悟空要想让电脑能听从它的各种吩咐,主要的任务就是掌握一门高级编程语言,然后用它来编写源程序。