文章教程

全国计算机等级考试二级C语言10.2文件包含

8/22/2020 10:24:52 PM 人评论 次浏览

10.2 文件包含

考点3 文件包含

真考链接

考点3属于重点理解内容,在选择题中的考核概率为10%。

所谓文件包含,是指在一个文件中包含另一个文件的全部内容。C语言用 #include命令行来实现文件包含的功能。形式如下:

#include"文件名"或 #include<文件名>

在预编译时,预编译程序将用指定文件中的内容来替换此命令行。如果文件名用双撇号括起来,则系统先在当前源程序所在的目录内查找指定的包含文件,如果找不到,再按照系统指定的标准方式到有关目录中去寻找。如果文件名用尖括号括起来,系统将直接按照指定的标准方式到有关目录中去寻找。

说明:

(1)#include命令行通常书写在所用文件的最开始部分,所以有时也把包含文件称做“头文件”。头文件名可以由用户指定,其后缀不一定用“.h”。

(2)当包含文件被修改后,对包含该文件的源程序必须重新进行编译连接,这样才会使修改后的文件生效。

(3)在一个包含文件中还可以包含另外的文件。

(4)在一个程序中可以有多个 #include命令行。

小提示

如果程序在编译过程中出现“程序中包含未定义的变量”,则首先应考虑到在头文件是否包含了程序必需的文件。

常见问题

在包含文件中一般都是什么内容?

一般包含一些公用的#define命令行、外部说明或对(库)函数的原型说明,如常见的标准输入/输出头文件stdio.h就是这样的头文件。

真题精选

【例1】以下叙述中,正确的是(  )。

A.用#include包含的头文件的后缀不可以是“.a”

B.若一些源程序中包含某个头文件,当该头文件有错误时,只需对该头文件进行修改,包含此头文件的所有源程序不必重新进行编译

C.宏命令行可以看做是一行C语句

D.C编译中的预处理是在编译之前进行的

【答案】D

【解析】#include命令行中,头文件只要是文本文件,文件名的后缀可以是任意合法的后缀名,可以用“.a”作为后缀名当源程序中包含头文件时,可以对其中所包含的头文件进行修改,但修改后必须对该源程序重新进行编译。宏命令行不是C语句。C编译中的预处理是在编译之前进行的。

【例2】程序中头文件typel.h的内容是

#define N 5

#define M1 N*3

/*程序如下:*/

#include "stdio.h"

#include "typel.h"

#define M2 N*2

main()

{ int i;

i=M1+M2;

printf("% d\n",i);

程序编译后运行的输出结果是(  )。

A.10    B.20    C.25    D.30

【答案】C

【解析】本题考查了两个知识点:一个是宏替换(不带参数和带参数的都考查了);另一个是头文件包含。需要注意的是,宏替换是先原样替换,然后再判断运算的优先级,本题难度不大,通过正常的运算可得到的答案是25。

教程类别