C教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 C程序设计

1.1.1 C程序设计过程

C程序设计的一般过程分为算法设计、程序设计、编译、连接、执行等阶段。

(1)算法设计。算法设计阶段是对需要解决的具体问题进行研究分析,找到解决问题的方法,并采用某种方式描述出来,为程序设计打下良好基础。

(2)程序设计。程序设计阶段是根据描述的解决问题的算法,按照程序设计语言的规则编写程序。程序设计语言有很多种,C语言是其中的一种。本书介绍C语言程序设计。

(3)编辑。编辑阶段是使用一个文本编辑器编辑C语言程序文件,并将其保存为文件扩展名为“.c”的文件。

(4)编译、连接。编译、连接阶段是使用C语言编写源程序(称为源代码)。由于计算机只能识别和执行由0和1组成的二进制指令(称为机器代码),因而C源程序是不能被计算机直接执行的,必须转换成机器代码才能被计算机执行。这个转换过程就是编译器对源代码进行编译和连接的过程。

编译是首先检查源程序的每一条语句是否有错误,当发现错误时,就在屏幕上显示错误的位置和错误类型信息。此时要再次调用编辑器进行查错并修改。然后再进行编译,直到排除所有的错误。正确的源程序文件经过编译后,就会在磁盘上生成同名的目标文件(扩展名为“.obj”)。

市场上有很多用于编译的工具称为编译器(编译工具),例如:Turbo C 2.0,Turbo C++3.0,Dev –C++,C++Builder,Visual C++ 6.0。

连接是将目标文件和库函数等连接在一起形成一个扩展名为“.exe”的可执行文件。如果函数名称写错或漏写包含库函数的头文件,则可能出现提示错误的信息,从而获得程序错误提示信息。

什么是库函数?我们在编写C语言程序时经常需要使用如三角函数、指数函数、对数函数、输入、打印等,系统已经把实现这些功能的程序编好了放在库文件中,这样,在程序中只要以相应的函数名直接使用就可以了。所以,在编译完成后需要将系统库文件中当前使用的库函数对应的实现代码加入到可执行文件中,这个过程就是“连接”。

(5)执行。可执行文件可以直接在操作系统下运行。若执行程序后达到预期的目的,则C程序的开发工作到此完成,否则需要找到原因(这个过程称为“调试”),进一步修改源程序,重复“编辑→编译、连接→运行”的过程,直到取得正确结果为止。

实际上,上述这一过程还可用图1.1来表示。

图1.1 C程序创建、编译和执行

下面通过一个简单的例子来说明C语言程序的上述步骤。

问题提出:输入圆的半径值r,计算圆的面积area,然后输出计算结果。

算法描述如下:

第1步 申请两个存储单元分别用r和area表示,用来存放数据;

第2步 读入圆的半径值,存入r中;

第3步 求圆的面积,将值存入area中,输出area的值。

根据算法,进行C语言程序设计,C程序源代码(Ex_Sim.c)如下:

/* 一个简单的C程序 */
#include<stdio.h>
#include<conio.h>
int main()
{
    double r,area;                          /* 定义变量 */
    printf("输入圆的半径:");               /* 输出提示信息 */
    scanf("%lf",&r);                        /* 获取从键盘中输入r的值 */
    area=3.14159*r*r;                       /* 计算面积 */
    printf("圆的面积为:%f\n",area);        /* 输出面积 */
    return 0;                               /* 指定返回值 */
}

一旦有了源代码,就可以对其进行编辑、编译、连接运行测试维护等步骤。

1.1.2 Visual C++环境C程序开发过程

Visual C++是Microsoft公司推出的目前使用极为广泛的基于Windows平台的可视化编程环境。Visual C++ 6.0版本功能强大、灵活性好、完全可扩展并具有强有力的Internet支持,是目前较为流行的C/C++语言集成开发环境(即编辑、编译、连接和运行一体,其中包括调试)。

由于Visual C++对C/C++应用程序是采用文件夹的方式来管理的,即一个C程序的所有源代码、编译的中间代码、连接的可执行文件等内容均放置在与程序同名的文件夹及其“debug”(调试)或“release”(发行)子文件夹中。因此,在用Visual C++进行应用程序开发时,一般先要创建一个工作文件夹,以便集中管理和查找。

下面以前面的简单C程序为例来说明在Visual C++ 6.0 SP6(汉化版)中创建、编译、连接和运行的一般过程。

1.创建工作文件夹

创建Visual C++ 6.0的工作文件夹,其路径可为“D:\C程序”,以后所有创建的C++程序都将保存在此文件夹下。在文件夹“D:\C程序”下再创建一个子文件夹“第1章”用于存放第1章中的C程序;第2章程序就存放在子文件夹“第2章”中,依次类推。

2.启动Visual C++ 6.0

选择“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++6.0”命令,运行Visual C++ 6.0。第一次运行时,将显示如图1.2所示的“每日提示”对话框。单击“下一条”按钮,可看到有关各种操作的提示。如果在“启动时显示提示”复选框中单击鼠标,去除复选框的选中标记“”,那么下一次运行Visual C++ 6.0将不再出现此对话框。单击“关闭”按钮关闭此对话框,进入Visual C++ 6.0开发环境。

图1.2 “每日提示”对话框

3.添加C程序

(1)单击标准工具栏上的“新建”按钮,打开一个新的文档窗口,在这个窗口中输入前面Ex_Sim.c中的C程序代码,如图1.3所示。

图1.3 在Visual C++ 6.0开发窗口中输入代码

(2)选择“文件”→“保存”菜单命令或按快捷键Ctrl+S或单击标准工具栏的按钮,弹出“保存为”文件对话框。将文件定位到“D:\C程序\第1章”文件夹中并保存,文件名指定为“Ex_SimV.c”(注意扩展名“.c”不能省略)。

此时在文档窗口中所有代码的颜色都将发生改变,这是Visual C++ 6.0的文本编辑器所具有的语法颜色功能,绿色表示注释,蓝色表示关键字等。

4.编译和运行

(1)单击编译工具条上的生成工具按钮或直接按快捷键F7,系统会弹出一个对话框,询问是否为该程序创建默认的活动工作区间文件夹,单击“是”按钮,系统开始对Ex_SimV.c进行编译、连接,同时在输出窗口中显示有关信息,如果出现如下信息:

Ex_SimV.exe-0 error(s), 0 warning(s)

就表示可执行文件Ex_SimV.exe已经正确无误地生成了。

(2)单击编译工具条上的运行工具按钮或直接按快捷键Ctrl+F5,就可以运行刚刚生成的Ex_SimV.exe了,结果弹出控制台窗口(其属性已被修改过,可能与读者计算机上看到的外观有所不同),如图1.4所示。

图1.4 控制台窗口

此时等待用户输入一个数。当输入“10”并按Enter键后,控制台窗口显示如图1.5所示。

图1.5 进入控制台窗口

其中,“Press any key to continue”是Visual C++自动加上去的,表示Ex_SimV运行后,按任意键将返回到Visual C++开发环境,这就是C程序最一般的创建、编连和运行过程。