首页 理论教育C语言文件包含组织多源文件程序

C语言文件包含组织多源文件程序

【摘要】:程序设计时,可以通过下面3种常用方法组织多源文件C程序:·单独编译每一个源程序文件,然后用连接程序对编译好的目标文件进行连接构成执行文件。使用文件包含组合多源文件C程序示例。①源程序文件isprime.c的内容如下:②源程序文件ReverseOrderNnumber.c的内容如下:③求指定区间中所有“绝对素数”的C程序如下:在上面程序中,用文件包含方式将含有“求倒序数”功能和“判定素数”功能的源程序文件嵌入到程序ex0904.c中,构成了一个解决问题的完整C程序。

一个C程序可以由一个或多个称为函数的程序块组成,这些函数可以存放在同一个源程序文件中,也可以按某种方式分门别类地存放到不同的源程序文件中。函数在C程序中作为一个整体对待,不能将一个函数拆开放到不同的源程序文件中。

在程序设计中,一个大的程序可以分为多个模块,一些公用的符号常量或宏定义等也可单独组成一个文件。程序设计时,可以通过下面3种常用方法组织多源文件C程序:

·单独编译每一个源程序文件,然后用连接程序对编译好的目标文件进行连接构成执行文件。

·使用工程文件方式,这也是现代开发环境中使用的方法。

·使用文件包含预处理方式,在C程序设计中使用文件包含预编译语句将需要的源文件组合进来。这是最简单的组合多源文件C的方式。

【例9.4】 使用文件包含组合多源文件C程序示例。

问题描述:求[a,b]区间内的绝对素数,区间上下限值从键盘输入。

问题分析:所谓“绝对素数”,指的是一个素数的倒序数也是素数。从问题的描述可以直观地分离出“判定素数”和“求倒序数”两个相对独立的功能。考虑到“判定素数”和“求倒序数”在许多问题上都会使用到,可以分别使用单独的C源文件进行存放,以方便使用。

①源程序文件isprime.c的内容如下:

②源程序文件ReverseOrderNnumber.c的内容如下:

③求指定区间中所有“绝对素数”的C程序如下:

在上面程序中,用文件包含方式将含有“求倒序数”功能和“判定素数”功能的源程序文件嵌入到程序ex0904.c中,构成了一个解决问题的完整C程序。由于被包含的C文件逻辑上被嵌入在书写文件包含预处理语句,被调函数ReverseOrderNnumber和isprime出现在对它们的调用点之前,所以主函数中不需要对其进行声明。程序一次执行过程如下:(www.chuimin.cn)

请输入区间的下限和上限:1,50//输入数据

绝对素数对:2--2

绝对素数对:3--3

绝对素数对:5--5

绝对素数对:7--7

绝对素数对:11--11

绝对素数对:13--31

绝对素数对:17--71

绝对素数对:31--13

绝对素数对:37--73