C语言PPT第9章预处理
9.1宏处理9.2文件包含9.3条件编译教学要求。3.掌握文件包含、条件编译的应用。先对源程序中的编译预处理命令进行处理。9.1宏定义9.2文件包含9.第9章。处理9.3条件编译4基本...第九章编译预处理第九章编译预处理编译预处理。先对这些命令进行预处理。然后将预处理的结果和源程序一起再进行通常的编译处理。
C语言PPT第9章预处理Tag内容描述:<p>1、教学内容:9.1宏处理9.2文件包含9.3条件编译教学要求:1.理解预处理功能在程序设计中的作用。2.掌握宏定义的使用。3.掌握文件包含、条件编译的应用。,第9章预处理,编译预处理编译预处理是指,在对源程序进行编译之前。</p><p>2、第9章 编译预处理,所谓编译预处理是指,在对源程序进行编译之前,先对源程序中的编译预处理命令进行处理;然后再将处理的结果,和源程序一起进行编译,以得到目标代码。,本章目录,9.1 宏定义 9.2 文件包含 9.3 条件编译,9.1 宏定义,在语言中,“宏”分为无参数的宏(简称无参宏)和有参数的宏(简称有参宏)两种。,1. 不带参数的宏定义 2. 带参数的宏定义,Return,不带参数的宏定义,1无参宏定义的一般格式 #define 标识符 语言符号字符串 其中:“define”为宏定义命令;“标识符”为所定义的宏名,通常用大写字母表示,以便于与变量区别;。</p><p>3、第9章:编译预处理命令 预处理命令:预处理命令不是C的组成部分,为了 扩充C的功能C提供了预处理功能,预处理命令不 能直接编译,要先编译,再和其源程序一起编译, 执行过程:,系统 角度,用户 角度,第9章:编译预处理命令 C提供的预处理功能有一下三种: 1、宏定义 2、文件包含 全部是以#开头的命令 3、条件编译 9.1 宏定义 9.1.1 不带参数的宏定义 格式: #define 标识符 字。</p><p>4、第九章 l 本章要点 预处理的概念预处理的概念 C C语言处理系统的预处理功能语言处理系统的预处理功能 预处理命令的使用预处理命令的使用 l 主要内容 9.1 宏定义 9.2“文件包含”处理 9.3 条件编译 4 基本概念 ANSI C标准规定可以在源程序中加入一些“ 预处理命令” ,以改进程序设计环境,提高 编程效率。 这些预处理命令是由ANSI C统一规定的,但是 它不是C语言本身的组成部分,不能直接对它 们进行编译(因为编译程序不能识别它们)。 必须在对程序进行通常的编译之前,先对程序 中这些特殊的命令进行“预处理”。 经过预处理后程序可由。</p><p>5、第九章 编译预处理,第九章 编译预处理,编译预处理:在源程序文件中,加入“编译预处理命令”,使编译程序在对源程序进行通常的编译之前,先对这些命令进行预处理,然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码(OBJ文件)。,C提供的编译预处理命令,这些命令均以#开头,以区别于语句。,9.1 宏(Macro),一、不带参数的宏 一般形式: #define 标识符 字符串 如: #d。</p><p>6、第7章,预处理命令,主要内容,7.1 概述 7.2 宏定义 7.3“文件包含”处理,7.1 概述,合理地使用预处理功能可以程序便于阅读、修改、移植和调试,也有利于模块华程序设计。,以“#”号开头的预处理命令,如#include,宏定义命令#define等,这些预处理命令放在函数之外,一般放在源文件的前面,称为预处理部分。,7.2 宏定义,7.2.1 无参宏定义,宏定义一般形式为:,define 标识符 字符串 例如:define PI 3.1415926,宏定义的作用是在本程序文件中用指定的标识符PI来代替“3.1415926”这个字符串,在编译预处理时,将程序中在该命令以后出现的所有的PI。</p><p>7、编 译 预 处 理,第 9 章,#define,#include,#ifdef,-2-,9.1 编译预处理命令 1. 什么是编译预处理? 编译预处理是指C编译系统在对源程序进行编译之前,先对其进行一些预加工。例如: 把 #include 命令指定的头文件嵌入到源程序中来; 把 #define 命令定义的标识符替换为字符串等。,-3-,2. 编译预处理命令 C语言提供 3 种预处理命令:。</p><p>8、第九章 l 本章要点 预处理的概念预处理的概念 C C语言处理系统的预处理功能语言处理系统的预处理功能 预处理命令的使用预处理命令的使用 l 主要内容 9.1 宏定义 9.2“文件包含”处理 9.3 条件编译 4 基本概念 ANSI C标准规定可以在源程序中加入一些“ 预处理命令” ,以改进程序设计环境,提高 编程效率。 这些预处理命令是由ANSI C统一规定的,但是 它不是C语言本身的组成部分,不能直接对它 们进行编译(因为编译程序不能识别它们)。 必须在对程序进行通常的编译之前,先对程序 中这些特殊的命令进行“预处理” 经过预处理后程序可由编。</p><p>9、第7章 编译预处理,预处理:是指在进行编译之前所作的工作。 预处理由预处理程序负责完成。当对一个源文件进行编译时, 编译系统将自动引用预处理程序对源程序中的预处理命令作处理, 处理完毕后自动进入对源程序的编译。,预处理命令:#define,#undef,#include,#else,#error 预处理命令行可位于程序中任意位置 预处理命令行的作用域:定义位置开始到文件结尾,7.1 宏定义:#define 7.2 文件包含:#include,第7章 编译预处理,宏定义是由源程序中的宏定义命令完成的。 在C语言中,“宏”分为有参数宏和无参宏两种。,7.1 宏定义: #define,如:无。</p><p>10、9.1 宏定义 9.2 “文件包含”处理 9.3 条件编译 习题 第9章 预处理命令 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Aspose Pty Ltd. ANSI C标准规定可以在C源程序中加入一些“预处理 命令”(preprocessor DireCtiveS) ,以改进程序设 计环境,提高编程效率。这些预处理命令是由 ANSI C统一规定的,但是它不是C语言本身的组 成部分,不能直接对它们进行。</p><p>11、第9章 C语言预处理命令,作用:对源程序编译之前做一些处理,生成扩展C源程序 种类 宏定义 #define 文件包含 #include 条件编译 #if-#else-#endif等 格式: “#”开头 占单独书写行 语句尾不加分号,9.1 宏定义 在语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用。</p><p>12、第10章 预处理命令 学习的意义 C语言的一个重要特征是它的预处理功能 我们知道 一个高级语言源程序在计算机上运行 必须先用编译程序将其翻译为机器语言 编译包括词法分析 语法分析 代码生成 代码优化等步骤 有时在编。</p><p>13、第六章函数与编译预处理 6 1模块化程序设计与函数6 2函数的定义与调用6 3函数的递归调用6 4变量作用域与存储方式6 5编译预处理6 6函数设计举例 教学目的和基本要求 要求学生了解模块化程序设计的思想 掌握函数的定义。</p><p>14、1,第8章 函数与预处理命令,华北电力大学 计算机系,C 语言程序设计,(2),2,第8章 函数与预处理命令,8.6 变量的存储类别及变量的生存期 8.7 编译预处理 8.8 多文件程序的调试方法 8.9 指向函数的指针变量,3,8.6 变量的存储类别及变量的生存期,8.6.1 变量的生存期与变量的存储分类,变量的生存期:变量在内存中占据存储空间的时间。,思考:1. 何时为变量分配内存单元? 2. 将变量分配在内存的什么区域? 3. 变量占据内存的时间(生存期)?,动态存储变量,静态存储变量,4,8.6.2 变量的存储类别,变量的属性,数据类型:int x; 决定为变量分配内。</p><p>15、第9章 预处理命令,教学内容 9.1宏定义 9.2“文件包含”处理 9.3条件编译 教学目的 使学生了解预处理的概念及特点、掌握宏的定义及使用、文件包含的使用及效果以及条件编译的方法及机理。,重点和难点 1 、预处理的概念及特点 2 、有参宏与无参宏的定义及使用 3 、 文件包含的使用 4 、条件编译的方法 课时:2 教学方法:多媒体演示 教学过程,作用:对源程序编译之前做一些处理 预处理功能主要。</p><p>16、9.1宏定义 9.2“文件包含”处理 9.3条件编译,第9章 预处理命令,C提供的预处理功能主要有以下三种: 1. 宏定义 2. 文件包含 3. 条件编译 分别用宏定义命令、文件包含命令、条件编译命令来实现。 为了与一般C语句相区别,这些命令以符号“#”开头。,9.1 宏定义,9.1.1 不带参数的宏定义 用一个指定的标识符(即名字)来代表一个字符串,它的一般形式为#define 标识符字符串。这。</p><p>17、第7章 函 数,C语言是通过函数来实现模块化程序设计的。所以较大的C语言应用程序,往往是由多个函数组成的,每个函数分别对应各自的功能模块。 7.1 函数的定义与调用 7.2 函数的嵌套调用与递归调用 7.3 数组作为函数参数 7.4 内部变量与外部变量 7.5 内部函数与外部函数 7.6 变量的动态存储与静态存储 Return,7.1 函数的定义与调用,7.1.1 函数的定义 7.1.2 函数的返回值与函数类型 7.1.3 对被调用函数的说明和函数原型 7.1.4 函数的调用 7.1.5 函数的形参与实参,Return,7.1 .1 函数的定义,1任何函数(包括主函数main())都是由函数说明和函。</p>