预处理

预处理命令

预处理定义

         1,所谓预处理是指进行编译的第一遍扫描之前所做的工作,是C语言中的一个重要功能,由预处理程序负责完成。

         2,C语言提供了多种预处理功能,如宏定义,文件包含,条件编译等,

         3,在C语言源程序中允许一个标识符来表示一个字符串,称为“宏”;被定义为“宏”的标识符称为”宏名”。在编译程

         序中,对程序所有出现的“宏名”,都用宏定义中的字符取代换,又被称为“宏替代”或“宏代换”。

         4,宏定义是有源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。

         5,在C语言中,宏分为有参数和无参数两种。

无参数宏

无参数宏定义的一般形式为:

        1, #define  标示字符串

         注意:“#”代表是编译预处理命令,define是宏处理的关键词,标识符是宏名。字符串是宏名所代替的内容,也可以是常

         数,表达式等。

例:


         2,在前面符号常量的定义就是一种无参数定义,此外,常对程序中反复使用的表达式进行宏定义。

         宏定义是用宏名表示一个字符串,在宏展开时又以该字符串取代宏,是一种简单的替换。

          习惯上宏名用大写字母表示,以便区别变量。但也允许小写字母。

         例如:

         #define  M  (y*y+3*y)

         它的作用就是指定标识符M来替代表达式(y*y+3*y)。在编写程序时所有表达式可被标识符所代替。在源程序做编译时,将

         先由预处理进行宏代换,然后再进行编译。

例:


带参数宏

         1,带参数宏定义中,宏名和形参之间不能有空格出现。

         2,在带参宏定义中,形参不分配内存单元,因此,不作为类型主义,宏调用参数的实参有具体的值。去代替形参,形参和

         实参是两个不同的量。在带参宏中,只是符号代换,不存在值传递。

         3,在宏定义中,形参是标识符,而宏调用中的实参可以是表达式。

         4,在宏定义中,字符串内的形参通常要用括号括起来,以避免出错。

文件包含

         1,文件包含命令行的一般形式是:

         #incude “文件名”

         2,文件包命令功能是指定文件插入该位置取代该命令行,从而把指定文件和当前源文件程序连成一个源文件。

         3,在程序设计中,一个大的程序可以分为多个模块,有些公用符号常量可单独组成一个文件,避免每个文件开头书写公用

         量,从而节省时间,减少出错。

         4,包含命令中的文件可以用双引号括起来,也可以用尖括号括起来,例如以下都是允许的:

          #include "stadio.h”

          #include <math.h>

           5,一个include命令只能指定一个被包文件,若有多个文件包括,需要用多个include命令。

           6,文件包允许被嵌套。一个被包含的文件中又可以包含另一个文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值