(本科)第8章 预处理命令ppt课件.pptx
《(本科)第8章 预处理命令ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第8章 预处理命令ppt课件.pptx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第8章 预处理命令2 第 8 章 预处理命令C语言程序设计第8章 预处理命令计算机教研室3 第 8 章 预处理命令8.1 概述n预处理是指源文件在进行编译之前所做的工作,由预处理程序完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。 n预处理命令可以放在程序中的任何位置,其有效范围是从定义开始到文件结束,一般放在源文件的前面。n预处理命令是一种特殊的命令,为了区别一般的语句,必须以#开头,结尾不加分号。nC 语言中的预处理命令有宏定义、文件包含和条件编译 3 类。4 第 8 章 预处理命令8.2 宏定义语言源程序允
2、许用一个标识符来表示一个字符串,称为宏。使用#define 作为宏定义命令,标识符为所定义的宏名。在编译预处理时,对程序中所有出现的宏名,都用宏定义中的字符串去替换,这称为宏替换或宏展开。字符串可以是常数、表达式、格式串等。 根据标识符的形式,宏分为不带参数的宏和带参数的宏两种。5 第 8 章 预处理命令 8.2 宏定义8.2.1 不带参数的宏用指定的标识符代表一个字符串,定义的一般形式为: #define 标识符 字符串其中,标识符称为宏名,字符串称为宏替换体。例如: #define PI 3.14 说明: 宏名通常用大写字母表示,其他的标识符用小写字母,便于区分。 6 第 8 章 预处理命
3、令 8.2 宏定义8.2.1 不带参数的宏 已经定义的宏名可以被后定义的宏名引用,在预处理时将层层进行替换。 例如: #define PI 3.14 #define ADDPI (PI+1) 若有表达式 x=ADDPI/2,则替换后,表达式将变为 x=(PI+1)/2。假如#define ADDPI PI+1,则结果如何? 当宏定义在一行中写不下需要在下一行继续时,只需在最后一个字符后紧接一个反斜线“”。注意在第二行开始不要有空格,否则空格会一起被替换。 7 第 8 章 预处理命令 8.2 宏定义8.2.1 不带参数的宏 宏定义的作用域是从定义处开始到源文件结束,但根据需要可用undef 命令
4、终止其作用域。形式为: #undef 宏名例如: #define PI 3.14 void main() #undef PI 则 PI 的作用域从命令行#define PI 3.14 开始,到#undef PI 命令行结束。8 第 8 章 预处理命令 8.2 宏定义8.2.1 不带参数的宏 宏替换体不能替换双引号中与宏名相同的字符串。例如: #define YES I love china! void main() printf(YES); YES 是已定义的宏名,但不能替换 printf(YES);中的 YES。 在 C 语言中,宏定义的位置一般在程序开头。9 第 8 章 预处理命令 8.2
5、 宏定义8.2.1 不带参数的宏【例 8.1】不带参数的宏示例。 #include #define PI 3.1415void main() int ra; double circule; double area; printf(请输入圆半径:); scanf(%d,&ra); circule=2*PI*ra; area=PI*ra*ra; printf(PI,圆的周长是:%fn,circule); printf(圆的面积是:%fn,area); 10 第 8 章 预处理命令 8.2 宏定义8.2.2 带参数的宏宏定义过程中,宏名后面可以带参数,定义的一般形式为: #define 宏名(形参表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第8章 预处理命令ppt课件 本科 预处理 命令 ppt 课件
限制150内