C语言程序设计A

周哲泓、文晟、马万仑

目录

  • 1 绪论
    • 1.1 为什么学习C语言
    • 1.2 C语言概述
    • 1.3 基本语法单位
    • 1.4 C语言基本程序结构
    • 1.5 Visual C++6.0介绍
    • 1.6 测试
  • 2 数据类型
    • 2.1 基本数据类型
      • 2.1.1 整型
      • 2.1.2 浮点型
    • 2.2 常量
    • 2.3 变量
    • 2.4 运算符与表达式
      • 2.4.1 算术运算符和算术表达式
      • 2.4.2 赋值运算符和赋值表达式
      • 2.4.3 关系运算符和关系表达式
      • 2.4.4 逻辑运算符和逻辑表达式
      • 2.4.5 位运算符和位表达式
      • 2.4.6 条件运算符和条件表达式
      • 2.4.7 逗号运算符和逗号表达式
      • 2.4.8 其他运算符
    • 2.5 数据的输入输出
    • 2.6 章节测试
  • 3 选择结构程序设计
    • 3.1 章节介绍
    • 3.2 关系运算符和关系表达式
    • 3.3 逻辑运算符和逻辑表达式
    • 3.4 if分支语句
    • 3.5 条件运算符和条件表达式
    • 3.6 switch多路开关语句
    • 3.7 实验方法
    • 3.8 本章小结
    • 3.9 选择结构程序设计电子课件
    • 3.10 选择结构程序设计视频推荐
    • 3.11 章节测试
  • 4 循环结构程序设计
    • 4.1 章节介绍
    • 4.2 while和do...while循环语句
    • 4.3 for 循环语句
    • 4.4 break和continue语句
    • 4.5 goto语句
    • 4.6 嵌套循环结构
    • 4.7 实验方法
    • 4.8 本章小结
    • 4.9 电子课件
    • 4.10 推荐视频
    • 4.11 章节测试
  • 5 数组
    • 5.1 一维数组
    • 5.2 二维数组
    • 5.3 字符数组与字符串
    • 5.4 章节测试
    • 5.5 实验方法
    • 5.6 电子课件
    • 5.7 推荐视频
  • 6 函数
    • 6.1 函数概述
    • 6.2 函数的定义
    • 6.3 函数的参数和返回值
    • 6.4 函数的调用
    • 6.5 函数的嵌套和递归调用
    • 6.6 数组作为函数的参数
    • 6.7 局部变量和全局变量
    • 6.8 变量的存储类别
    • 6.9 内部函数和外部函数
    • 6.10 实验
    • 6.11 电子课件
    • 6.12 章节测试
  • 7 编译预处理
    • 7.1 宏定义
      • 7.1.1 不带参数的宏定义
      • 7.1.2 带参数的宏定义
    • 7.2 “文件包含”处理
    • 7.3 条件编译
    • 7.4 推荐视频
    • 7.5 电子课件
  • 8 指针
    • 8.1 指针的基本概念
      • 8.1.1 变量的地址
      • 8.1.2 指针变量的定义
      • 8.1.3 指针变量的引用
    • 8.2 指针与一维数组
      • 8.2.1 指向一维数组的指针变量
      • 8.2.2 通过指针引用一维数组元素
      • 8.2.3 指针使用的几个细节
    • 8.3 指针与字符串
      • 8.3.1 使用指针处理字符串
      • 8.3.2 字符型指针变量作函数参数
      • 8.3.3 字符指针变量与字符数组的区别
    • 8.4 指针与二维数组
      • 8.4.1 二维数组的指针
      • 8.4.2 行指针变量
      • 8.4.3 二维数组的指针作函数参数
    • 8.5 指针数组与多级指针
      • 8.5.1 指针数组
      • 8.5.2 多级指针的概念
    • 8.6 指针与函数
      • 8.6.1 指针变量作为函数的参数
      • 8.6.2 函数的指针
      • 8.6.3 返回指针值的函数
    • 8.7 main函数的参数
      • 8.7.1 main函数参数的概念
      • 8.7.2 main函数参数的处理
    • 8.8 程序设计举例
    • 8.9 实验
    • 8.10 电子课件
    • 8.11 参考视频
“文件包含”处理

7.2  “文件包含”处理

在前面各章多次用到了# include命令,这个命令用来实现“文件包含”,其作用是将一个源文件的全部内容包含进另一个源文件中来。被包含的文件可以是C语言源文件、库函数头文件等。
        由于#include命令通常都放在文件的开头,所以这些被包含的文件通常被称为“标题文件”或“头文件”,这些文件常以“.h”(h为head的首字母)为文件的扩展名。当然也可以用其它文件扩展名,但无论用什么扩展名,这个被包含文件必须是文本文件

C集成环境为用户提供了许多库函数,每一个库函数都有自己对应的头文件,若要使用一些库函数中定义的数据和变量,必须要在程序中使用# include命令将该库函数所对应的头文件包含进来,否则,程序在编译时就会报错。
       文件包含的使用格式如下:
                #include  "文件名"        或
                #include  <文件名>

   使用"文件名"格式时,预处理程序首先检索当前文件目录是否有该文件,如果没有,再检索C编译系统指定的目录。
      使用<文件名>格式时,预处理程序直接检索C编译系统指定的目录。
      使用"文件名"时,文件名前面可添加路径,如:            
                  #include "c:\vc++\include\math.h"

常用的标准库头文件的扩展名都是.h,如下所示:
#include  <stdio.h>   /*标准输入输出函数库文件*/
#include  <string.h>   /*字符串函数库文件*/
#include  <ctype.h>   /*字符函数库文件*/
#include  <math.h>   /*数学函数库文件*/
        使用“文件包含”命令,可以减少程序设计人员的工作量,可以提高编程效率。

关于文件包含的3点说明:

(1) 一个#include命令只能指定一个被包含文件。就是说,如果要包含n个文件,必须用n个#include命令。
(2) 假设“f1.c”、“f2.c”、“f3.c”是3个不同的文件,若在“f1.c”中有如下两行命令。
          #include   <f3.c>
          #include   <f2.c>
        则在文件“f1.c”中,可以用“f2.c”和“f3.c”的内容;在文件“f2.c”中,可以用“f3.c”的内容,不必在文件“f2.c”中再使用“#include  <f3.c>”命令。
(3) 文件包含可以嵌套使用。
       若在“f1.c”中只有“#include  <f2.c>”命令,而“f1.c”中又要使用“f3.c”的内容,也可以让“f2.c”中出现“#include  <f3.c>”命令。