C是编译型语言。如果之前使用过编译型语言(如,Pascal或FORTRAN),就会很熟悉组建C程序的几个基本步骤,但是,如果以前使用的是解释性语言(如,BASIC)或面向图形界面语言(如,Visual Basic),或者没接触过任何编程语言,就有必要学习如何编译。
1.6.1 定义程序的目标
在动手写程序之前,要在闹钟有清晰的思路。想要程序去做什么首先自己要明确自己想做什么,思考你的程序需要哪些信息,要进行哪些计算和控制,以及程序应该要报告什么信息。在这一步骤中,不涉及具体的计算机语言,应该用一般术语来描述问题。
1.6.2 设计程序
对程序应该完成什么任务有概念性的认识后,就应该考虑如何用程序来完成它。例如,用户界面应该是怎的?如何组织程序?目标用户是谁?准备花多长时间来完成这个程序?
1.6.3 编写程序
设计好程序后,就可以编写代码来实现它。也就是说,把你的程序翻译成C语言。这里是真正需要使用C语言的地方。可以把思路写在纸上,但是最终还是要把代码输入计算机。这个过程的机制取决于编程环境。
1.6.4 编译
接下来的这一步是编译源代码。再次提醒读者注意,编译的细节取决于编程的环境,我们稍后马上介绍一些常见的编程环境。现在,先从概念的角度讲解编译发生了什么事情。
前面介绍过,编译器是把源代码转换成可执行的代码的程序。可执行代码是用计算机的机器语言表示的代码。这种语言由数字码表示的指令组成。如前所述,不同的计算机使用不同的机器语言方案。C编译器负责把C代码翻译成特定的机器语言。此外,C编译器还将源代码与C库(库中包含大量的标准函数供用户使用,如printf()和scanf()的代码合并成最终的程序(更精确地说,应该是由一个被称为链接器的程序来链接库函数,但是在大多数系统中,编译器运行链接器)。其结果是,生成一个用户运行的可执行文件,其中包含着计算机能理解的代码。