当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《C语言程序设计》课程教学资源(电子教案)第十一讲 预处理命令

资源类别:文库,文档格式:DOC,文档页数:3,文件大小:132KB,团购合买
1.无参宏定义 2.文件包含 3.文件包含命令的一般格式
点击下载完整版文档(DOC)

预处理命令 说明 主要1.无参宏定义的定义格式及使用方法 内容|2.文件包含的概念及其定义格式 无参宏定义 重点2.文件包含 3.文件包含命令的一般格式 1.无参宏定义 难点2.文件包含 3.文件包含命令的一般格式 问题如何加载系统库函数? 提出 、宏定义 【定义】宏定义是用一个标识符来代表一个字符串,其中标识符 称为宏名。在编译预处理时,将会把宏名替换成它所代表的字符 串,这个过程称为宏展开 【注意】宏定义与变量定义不同,宏定义只是在编译预处理时做 简单的字符串替换,并不需要系统分配内存空间:而定义变量则 会在编译时得到系统分配的内存空间。宏定义有两种形式,即不 带参数的宏定义和带参数的宏定义,宏定义命令用# define来标 【无参宏定义格式】# define标识符字符串 tuu: #define Pi 3. 1415926 【说明】 (1)宏名的命名规则(标识符通常用大写字母标识) (2)宏名的替换只作简单的替换,不做语法检查 重点强调 (3)用宏名代替字符串,可以减少程序输入过程中重复输入的某 些字符串; (4)若字符串末尾加分号“:"”,将视为字符串的一部分 (5)在程序中双引号里与宏名相同的字符串不被替换 #define rad 100 printf(“RAD=”,RAD); (6)宏定义时,可以引用已经定义的宏名 (7)在宏定义时,如果一行写不下时,需要在上一行的结尾处加 上“”来表示续行。例如: #define PI 3.14159 和# define PI3.14159是等价的 (8)通常# detine命令写在文件的开头,其作用域为整个源文件; 否则从宏定义命令之后到本源文件结束为止

预处理命令 内容 说明 主要 内容 重点 难点 问题 提出 1.无参宏定义的定义格式及使用方法 2.文件包含的概念及其定义格式 重点强调 1.无参宏定义 2.文件包含 3.文件包含命令的一般格式 1.无参宏定义 2.文件包含 3.文件包含命令的一般格式 如何加载系统库函数? 一、宏定义 【定义】宏定义是用一个标识符来代表一个字符串,其中标识符 称为宏名。在编译预处理时,将会把宏名替换成它所代表的字符 串,这个过程称为宏展开。 【注意】宏定义与变量定义不同,宏定义只是在编译预处理时做 简单的字符串替换,并不需要系统分配内存空间;而定义变量则 会在编译时得到系统分配的内存空间。宏定义有两种形式,即不 带参数的宏定义和带参数的宏定义,宏定义命令用#define 来标 识。 【无参宏定义格式】#define 标识符 字符串 如:#define PI 3.1415926 【说明】 (1)宏名的命名规则(标识符通常用大写字母标识); (2)宏名的替换只作简单的替换,不做语法检查; (3)用宏名代替字符串,可以减少程序输入过程中重复输入的某 些字符串; (4)若字符串末尾加分号“;”,将视为字符串的一部分; (5)在程序中双引号里与宏名相同的字符串不被替换; #define RAD 100 printf(“RAD=”,RAD); (6)宏定义时,可以引用已经定义的宏名; (7)在宏定义时,如果一行写不下时,需要在上一行的结尾处加 上“\”来表示续行。例如: #define PI \ 3.14159 和#define PI 3.14159 是等价的 (8) 通常#define 命令写在文件的开头,其作用域为整个源文件; 否则从宏定义命令之后到本源文件结束为止

(9)可以使用# undef命令终止宏定义的作用域 #define Pl 3. 14159 #undef Pl PI的有效范围 void ear() 文件包含 【定义】文件包含是C语言预处理程序的一种功能,是把一个或 多个制定文件嵌入到现行的源程序中,再对嵌入后的源程序文件 进行编译处理。(这样可以减少重复编程) 【格式】# include #include "filel. c" stdio h是由系统提供的头文件, filel.c是用户提供的C程序文件。 这样就把两个源程序文件组合成一个源程序文件了 【说明】 (1)文件名包含系统或用户自定义的头文件(*h)和C源程序 (2)文件名用<>和“”的区别是编译系统使用不同的方式搜索包强调二者 含文件 的区别 当用尖括号括住被包含文件时,编译系统将仅在系统设定的 标准目录中搜索所包含的文件。例如 #include 系统只在设定的标准目录 include下查找包含文件 string. ho 当使用双引号括住被包含文件且文件名中无路径时,编译系 统将首先在源文件所在的目录中查找,若未找到,再到系统设定 的标准目录中查找。例如 #include "prog. h 当使用双引号括住被包含文件并指定路径时,编译系统将只 按指定的文件路径去查找包含的文件。例如: #include "c \userluser h" 编译系统将在c: \user子目录下查找被包含文件 user h 如果指定的文件不存在,编译系统将提示出错信息,并停止编译 过程

(9)可以使用#undef 命令终止宏定义的作用域。 #define PI 3.14159 main( ) { . . } #undef PI void ear( ) { } 二、文件包含 【定义】文件包含是 C 语言预处理程序的一种功能,是把一个或 多个制定文件嵌入到现行的源程序中,再对嵌入后的源程序文件 进行编译处理。(这样可以减少重复编程) 【格式】#include (或“文件名”) 其中,文件名是指磁盘中所要包含的文件的名字。例如: #include #include "file1.c" stdio.h 是由系统提供的头文件,file1.c 是用户提供的 C 程序文件。 这样就把两个源程序文件组合成一个源程序文件了。 【说明】 (1)文件名包含系统或用户自定义的头文件(*.h)和 C 源程序 (*.c); (2)文件名用<>和“”的区别是编译系统使用不同的方式搜索包 含文件; 当用尖括号括住被包含文件时,编译系统将仅在系统设定的 标准目录中搜索所包含的文件。例如: #include 系统只在设定的标准目录 include 下查找包含文件 string.h。 当使用双引号括住被包含文件且文件名中无路径时,编译系 统将首先在源文件所在的目录中查找,若未找到,再到系统设定 的标准目录中查找。例如: #include "prog.h" 当使用双引号括住被包含文件并指定路径时,编译系统将只 按指定的文件路径去查找包含的文件。例如: #include "c:\user\user.h" 编译系统将在 c:\user 子目录下查找被包含文件 user.h。 如果指定的文件不存在,编译系统将提示出错信息,并停止编译 过程。 强调二者 的区别 PI 的有效范围

(3)文件包含控制行可以出现在源程序的任何地方,通常位于文 件开头 (4)一个# include只能指定一个包含文件 (5)当被包含文件修改时,凡包含此文件的所有源程序都必须重 新进行编译 (6)若包含文件为*.c时,表示复制 例如在C源程序文件 filel.c的开头有文件包含命令:# include "file2c"。file2.c是另外一个文件,它可以是一个C源文件,也可 以是头文件(即后缀为h的文件)。 filel.c file2.c filel.c sinclude fle2.c" 包含 预处理前 预处理后 从图中可以看出,预处理前, filel.c和fle2c各为一个单独 的文件。预处理后,文件fle2c的全部内容插入到# include"fle2c 的所在位置,在随后进行的C编译过程中,新的 filel.c作为一个 源文件进行编译 举例说明 (7)最常用的三个头文件为、、。各文件 作用 、小结 无参宏定义的使用方法、文件包含的使用 四、作业 课后习题第一题(4)、第二题。 布置综合设计要求

(3)文件包含控制行可以出现在源程序的任何地方,通常位于文 件开头; (4)一个#include 只能指定一个包含文件; (5)当被包含文件修改时,凡包含此文件的所有源程序都必须重 新进行编译 (6)若包含文件为*.c 时,表示复制; 例如在 C 源程序文件 file1.c 的开头有文件包含命令:#include "file2.c"。file2.c 是另外一个文件,它可以是一个 C 源文件,也可 以是头文件(即后缀为.h 的文件)。 则: (B) (A) #include "file2.c" (A) (B) file1.c file2.c 预处理前 预处理后 包含 file1.c 从图中可以看出,预处理前,file1.c 和 file2.c 各为一个单独 的文件。预处理后,文件 file2.c 的全部内容插入到#include "file2.c" 的所在位置,在随后进行的 C 编译过程中,新的 file1.c 作为一个 源文件进行编译。 (7)最常用的三个头文件为 、、。 三、小结 无参宏定义的使用方法、文件包含的使用。 四、作业 课后习题第一题(4)、第二题。 布置综合设计要求。 举例说明 各文件的 作用

点击下载完整版文档(DOC)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
已到末页,全文结束
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有