白话C语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

我们是从零开始的吗

编写C程序是一个稍显繁杂的过程。下面以Borland C++3.1为例说明这个过程。

(1)启动Borland C++3.1。

假设Borland C++软件安装在d:\borlandc文件夹下,并且你已经在e盘上建立了名为cprog的文件夹,你将在文件夹e:\cprog下编写你的程序。执行下列操作就可以启动Borland C++3.1。

① 在Windows环境下,单击任务栏上的“开始”按钮,选择“运行…”命令,在“运行”对话框中输入cmd,如图1-1所示,按“回车”键就可以启动Windows提供的DOS虚拟机窗口,如图1-2所示。

图1-1 “运行”对话框

图1-2 DOS虚拟机窗口

② 在DOS虚拟机窗口中,用键盘连续输入以下两条命令(每行命令后都要按“回车”键),就可以进入e:\cprog目录下了,如图1-3所示。

● e:

● cd cprog

图1-3 进入到e:\cprog目录下

③ 在e:\cprog目录下输入下面的命令,并按“回车”键就可以启动Borland C++3.1,如图1-4所示。注意,Borland C++3.1就安装在d:\borlandc文件夹下。

图1-4 Borland C++3.1 启动界面(部分截图)

● d:\borlandc\bin\bc

Borland C++3.1是一个非常成功的DOS平台下的C/C++编程环境,这类软件被称为集成开发环境。

(2)选择File菜单中Open命令(如图1-5所示),在对话框中输入文件名test.c(如图1-6所示),按“回车”键就开启一个新窗口(如图1-7所示)。

图1-5 File菜单

图1-6 Open a File对话框

图1-7 编辑窗口

这个窗口很漂亮,因为具有蓝色背景,给人以舒适的感觉。

注意:在如图1-6所示对话框中,输入的文件名是一定要确保文件名的后缀是C而不是默认的CPP

(3)在窗口中输入你的程序文本,你可以将任何C语言教材中第一个例子程序输入。

注意:如果你这样做,就意味着你真的是一个C语言菜鸟。输入时要仔细比对教材上的程序,不要输入错误哦。严格地说,没有哪个教材的第一个示例程序会是错误的!可是你别把它输入错啦!

(4)按F2键,保存这个程序。选择Run菜单中的Run命令,如图1-8所示,就可以看到Borland C++有一些反应,然后就恢复了平静,就跟没事儿人一样。你不要奇怪。这时你按Alt+F5键就会看到这个程序的输出结果。

图1-8 Run菜单

按Alt+F5键不是指同时敲击Alt键和F5键,也不是敲击一下Alt键,然后再敲击F5键,更不是按下Alt键和F5键不放直到手指发酸为止,而是先按住Alt键不放,敲击一下F5键,然后放开Alt键。

(5)如果你输入的程序是正确的,工作到此就结束了。

你操作几次之后,就会熟悉这个过程,如此简单。如果这让你备感轻松,对学习C语言充满了信心,那么祝贺你。然而,这个简单过程的背后却没有那么简单,因为如今程序员的编程工作显得如此轻松是我们站在了巨人的肩膀上,这个巨人的肩膀就是集成开发环境。

没有了集成开发环境,就像人类突然回到石器时代。程序员不得不利用文本编辑器(如Windows下的记事本notepad)编辑源程序,再手工执行编译器编译这些程序,最后用连接器将中间文件连接成可执行文件。如果程序有问题,还必须阅读显示在屏幕上的出错信息去判定句法错的位置,然后在文本编辑器中去修改源程序。如果程序犯了逻辑错,那更糟糕了,没有集成调试环境,恐怕只能瞎猜了。

集成开发环境集编辑、编译连接、调试等功能于一身,我们只需要通过菜单就可以发出命令。此外,集成开发环境还提供了C语言程序所需要的标准库函数及高级程序员特别喜欢的某些库函数的源代码。

每一个标准库函数都可以看作是一个小工具,这些工具被分门别类地保存在各个不同的.lib文件中。每一个库函数都是一小段可以重复使用的指令,这些指令大多是针对计算机底层操作的,比如从键盘上获取数据、将数据显示在屏幕上、求解某个正整数的平方根等。正是由于这些库函数的存在,程序员才不至于直接面对计算机硬件操作,这不但减轻了编程工作的负担,还提高了编程效率。

经过上面的5步操作之后,BorlandC在e:\cprog目录产生了一系列文件,如图1-9所示。其中test.c是源程序文件。我们所输入的程序文本被称为源程序(也叫源代码)。源程序是机器可以执行的指令吗?NO!源程序文件就像是写在纸上的命令,人可以读懂,但机器不行。源程序必须经过翻译才能交给机器执行。这个翻译过程分为两步:编译和连接。编译只是将源程序翻译成目标程序,以后缀为.obj的文件形式存在,如test.obj。连接器将目标程序翻译成可执行的程序,以后缀为.exe的文件形式存在,如test.exe。在e:\cprog目录下还有一些其他文件,test.bak文件是备份文件,每当我们保存一次源程序,就会产生一份最新的备份;后缀是swp的文件,是BorlandC系统使用的交换文件,如果BorlandC能够正常退出,这些swp文件就会被自动删除。

图1-9 e:\cprog目录的内容

为什么不直接将源程序翻译成可执行程序呢?这是因为大多情况下,我们所编写的源程序都要调用标准库函数,这些库函数的指令保存在.lib文件中,需要将它们提取出来与我们编写的源程序所形成的目标程序组合起来,才能形成最终的可执行程序。所以,要先编译、再连接。

总之,我们要知道,程序员所编写的源程序只是最终可执行程序的一小部分而不是全部。我们的工作并不是从零开始的,每个程序员的脚下都有一个巨人。