C语言程序设计刘明才第7章编译预处理课件教学.pptVIP

  • 3
  • 0
  • 约 46页
  • 2017-01-01 发布于广东
  • 举报

C语言程序设计刘明才第7章编译预处理课件教学.ppt

第7章 编译预处理 宏定义 文件包含 条件编译 7.1 宏定义 不带参数的宏定义 带参数的宏定义 终止宏定义 7.1.1 不带参数的宏定义 不带参数的宏定义命令形式为: #define 宏名 字符串 其中:宏名为标识符。 功能:在编译预处理时,将程序中在该命令后所有与宏名相同的文本用字符串置换。 例如: #define PI 3.1415926 它的功能是在程序中用宏名“PI”来代替“3.1415926”这个字符串,在编译预处理时,将程序中在该命令以后出现的所有的“PI”都用“3.1415926”代替。使用宏定义(macro definition),可以用一个简单的名字(宏名)来代替一个较长的字符串,以增加程序的可读性。 在编译预处理时将宏名替换成字符串的过程称为“宏展开”。 关于宏定义和宏展开的说明。 宏名一般习惯用大写字母表示,以便与变量名区别。但这并非规定,也可用小写字母。 一个宏名只能被定义一次,否则出错,被认为是重复定义。 在进行宏定义时,可以引用已定义的宏名,可以层层替换,见下例。 对在字符串常量及用户标识符中与宏名相同的部分不作替换。例如,已定义:#define L 1234 在程序中有变量Length,其中L不作替换。同样在printf(L=,…)中的L不作替换。 宏定义的作用域是从定义开始到程序结束。 当宏定义在一行中写不下,换行时,需要在行尾加换行字符“\

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档