C_C++程序设计教程与上机实训于文强程立福毛慧凤第八章课件教学.PPTVIP

  • 2
  • 0
  • 约4.92千字
  • 约 40页
  • 2017-01-01 发布于广东
  • 举报

C_C++程序设计教程与上机实训于文强程立福毛慧凤第八章课件教学.PPT

第8章 编译预处理 8.1 宏定义 C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。本章介绍常用的几种预处理功能。在C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为宏的标识符称为“宏名”。在编译预处理时,对程序中所有出现的宏名都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。 宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。在C语言中,宏分为有参数和无参数两种。下面分别讨论这两种宏的定义和调用。 8.1.1 无参宏定义 无参宏的宏名后不带参数。其定义的一般形式为: #define 标识符 字符串 其中的#表示这是一条预处理命令。凡是以#开头的均为预处理命令。define为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。在前面介绍过的符号常量的定义就是一种无参宏定义。此外,常对程序中反复使用的表达式进行宏定义。例如:# define M (y*y+3*y)定义M表达式(y*y+3*y)。在编写源程序时,所有的(y*y+3*y)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用(y*y+3*y)表达式去置换所有的宏名M,然后再进行编译。 8.1.2 带参宏定义 C语言允许宏带有参数。在

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档