第十章编译预处理与位运算.ppt
《第十章编译预处理与位运算.ppt》由会员分享,可在线阅读,更多相关《第十章编译预处理与位运算.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 编译预处理与位运算编译预处理与位运算 10.1 编译预处理编译预处理编译预处理编译预处理:是在编译前由编译系统中的预处理程序对源程序是在编译前由编译系统中的预处理程序对源程序的预处理命令进行加工。的预处理命令进行加工。源程序中的预处理命令均以源程序中的预处理命令均以“#”开头开头,命令,命令末尾不加分号末尾不加分号,它们可以写在程序中的任何位置,它们可以写在程序中的任何位置,作用域作用域是从出现位置开始到是从出现位置开始到源程序的结束源程序的结束.10.1.1 宏定义宏定义宏定义是定义一个标识符来代替一个字符串。宏定义是定义一个标识符来代替一个字符串。宏定义有不带参数的宏定义和带
2、参数的宏定义两种。宏定义有不带参数的宏定义和带参数的宏定义两种。1不带参数的宏定义不带参数的宏定义定义形式:定义形式:#define 标识符标识符 字符串字符串功能:用一个指定的标识符(即名字,称为宏名)来代表一个字符功能:用一个指定的标识符(即名字,称为宏名)来代表一个字符串。串。例如:例如:#define PI 3.1415926说明:说明:(1)与其他标识符相区别,宏名一般用大写字母表示。)与其他标识符相区别,宏名一般用大写字母表示。(2)编译预处理时,将程序中的宏名用字符串代替,这种将宏名替)编译预处理时,将程序中的宏名用字符串代替,这种将宏名替换成字符串的过程称为换成字符串的过程称为
3、“宏展开宏展开”。(3)使用宏可以减少程序中重复书写或修改某些字符串的工作量)使用宏可以减少程序中重复书写或修改某些字符串的工作量.(4)在程序中出现在双引号中或其他字符串中与宏名相同的字符串,)在程序中出现在双引号中或其他字符串中与宏名相同的字符串,不能作为宏处理。不能作为宏处理。(5)#define命令的作用范围从定义位置至源程序结束,但可以用命令的作用范围从定义位置至源程序结束,但可以用#undef终止其作用域终止其作用域。例例1:#define PI 3.1415926main()float l,s,r;scanf(%d,&r);l=2.0*PI*r;s=PI*r*r;printf(l
4、=%fn,l);printf(s=%fn,s);main()float l,s,r;scanf(%d,&r);l=2.0*3.1415926*r;s=3.1415926*r*r;printf(l=%fn,l);printf(s=%fn,s);展开10.1.1 宏定义宏定义例例2:#define PI 3.1415926main()#undef PIfun()10.1.1 宏定义宏定义10.1.1 宏定义宏定义(6)宏定义时,可以引用已定义的宏名,编译时)宏定义时,可以引用已定义的宏名,编译时层层展开层层展开。例例3:#define PI 3.1415926#define R 3.0#defin
5、e L 2*PI*R#define X R+Lmain()y=2*X;main()y=2*3.0+2*3.1415926*3.0;展开(7)宏名是一个常量标识符宏名是一个常量标识符,不是变量,不分配内存空间。,不是变量,不分配内存空间。2带参数的宏定义带参数的宏定义定义形式:定义形式:#define 标识符标识符(参数表参数表)字符串字符串功能:用指定的带参数的标识符来代表一个字符串。功能:用指定的带参数的标识符来代表一个字符串。注意:带参数的宏展开时要用实参字符串替换形参字符串。注意:带参数的宏展开时要用实参字符串替换形参字符串。例例4:#define S(x)2*x*xmain()y=S(
6、2+2);main()y=2*2+2*2+2;展开注意注意:展开时用实参字符串:展开时用实参字符串2+2替换形参字符串替换形参字符串x,2+2是字符串,是字符串,不能看做表达式,即不能看做表达式,即S不能展开为不能展开为2*(2+2)*(2+2)。10.1.1 宏定义宏定义10.1.2 文件包含文件包含文件包含是一个源程序通过文件包含是一个源程序通过#include命令把另外一个文命令把另外一个文件的全部内容嵌入到源程序中。件的全部内容嵌入到源程序中。文件包含命令有如下两种格式:文件包含命令有如下两种格式:#include#include文件名文件名功能:将指定文件的全部内容放到该命令行所在的
7、位置。功能:将指定文件的全部内容放到该命令行所在的位置。说明:命令说明:命令#include在搜索文件时只检索在搜索文件时只检索C语语言编译系统所确定的标准目录,而命令言编译系统所确定的标准目录,而命令#include文件文件名名在搜索文件时首先对使用包含文件的源程序文件所在搜索文件时首先对使用包含文件的源程序文件所在的目录进行检索,若没有找到指定的文件,再在标在的目录进行检索,若没有找到指定的文件,再在标准目录中检索。准目录中检索。10.2 位运算数据在计算机内部是以二进制补码形式存储的。数据在计算机内部是以二进制补码形式存储的。1按位与运算符:&若参与运算的两个操作数对应的两个二进制位都是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十章 编译预处理与位运算 第十 编译 预处理 运算
限制150内