第十一章编译预处理详解.ppt

ANSI C标准规定可以在C源程序中加入一些“预处理命令”,以改进程序设计环境,提高编程效率。 在对程序进行通常的编译之前,先对程序中这些特殊的命令进行“预处理”,即根据预处理命令对程序作相应的处理。 经过预处理后的程序不再包括预处理命令了,最后再由编译程序对预处理后的源程序进行通常的编译处理,得到可执行的目标代码。 C提供的预处理功能主要有以下3种: 宏定义、文件包含、条件编译 #define M (y*y+2*y+1) void main() { int s,y; printf(input a number: ); scanf(%d,y); s=3*M+4*M+5*M; printf(s=%d\n,s); } 对于宏定义还要说明以下几点: (1) 宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查。如有错误,只能在编译已被宏展开后的源程序时发现。 (5) 宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开时由预处理程序逐层代换。 例如: #define PI 3.1415926 #define S PI*y*

文档评论(0)

1亿VIP精品文档

相关文档