1 / 26
文档名称:

【精品】PPT课件 第9章 编译预处理.ppt

格式:ppt   页数:26
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【精品】PPT课件 第9章 编译预处理.ppt

上传人:薄荷牛奶 2014/12/6 文件大小:0 KB

下载得到文件列表

【精品】PPT课件 第9章 编译预处理.ppt

文档介绍

文档介绍:第9章编译预处理
任课教师张盈
课件制作张盈
主要内容
宏替换
文件包含
条件编译
预定义宏
运算符#和##
后三节为
自学内容
预处理命令
所谓预处理,就是C编译程序对C源程序编译前由编译预处理程序对预处理命令进行处理的过程。
C语言中,以“#”开头(如#define)的语句统称为编译预处理命令。
这些命令必须在一行的开头以“#”开始,末尾不加分号,以区别一般的C语句。
C语言的预处理命令
宏定义:
#define , #undef
文件包含:
#include
宏替换
不带参数的宏定义(即符号常量定义语句)
#define 宏名替换文本
编译时编译预处理程序自动对源程序中的“宏名”用“替换文本”来替换,即宏展开
例如:
#define LENGTH 300
#define PI
宏替换使用说明
(1)宏名一般用大写字母,以示与一般变量区别。
(2)使用宏替换的作用是提高程序的清晰性、可移植性。
(3)在同一个程序段中,同一个宏名不能重复定义。
(4)“替换文本”不能替换双引号中的字符串。
(5)“替换文本”并不替换用户标识符中的成分。
(6) 宏定义是用宏名代替一个字符串,是简单的置换,并不作语法检查。
(7) 宏定义语句末尾不能加分号,否则会连分号一起置换。
(8) 可以用#undef命令终止宏定义的作用域。
(9) “替换文本”中可以包含已定义过的宏名。
带参数的宏定义
一般形式:
#define 宏名(参数表) 字符串
说明:
“字符串”中包含“参数表”中所指定的参数。
【】带参数的宏定义。
#define DB(x) ((x)*2)
main( )
{
double y;
float z=10;
y=DB(z); /* 等价于: y= z*2; */
printf("y=%f\n",y);
}
【例】
#define abs(x) (((x)>0)?(x):(-(x)))
main( )
{
int a=-3,b;
float c=-,d;
b=abs(a);
d=abs(c);
printf("b=%d,d=%f\n",b,d);
}

最近更新

2026中共天津市委党校招聘教学科研人员13人考.. 49页

2026中国雄安集团有限公司校园招聘50人参考题.. 49页

2026年廉政廉洁知识测试题(基础题) 14页

2026年廉政知识学习测试题(黄金题型) 14页

2026年中国刑法学考试备考题库及答案(网校专.. 15页

2026年新廉政知识测试题(夺冠) 15页

2026年最新廉政知识测试题(夺冠) 14页

2026年叉车复审考试题库(名校卷) 14页

2026年四川文化艺术学院单招职业技能考试题库.. 45页

2026年地方病控制题库【预热题】 40页

2026年安徽商贸职业技术学院单招综合素质考试.. 45页

2026年山西电力职业技术学院单招职业适应性考.. 44页

2026年广东食品药品职业学院单招职业技能测试.. 46页

2026年护士一级考试题库附答案 40页

C语言程序设计基础单项选择题库精选答案 13页

中铁十七局医院公开招聘工作人员备考题库附答.. 46页

2026年服装教师试题库附答案 42页

小学历史与文化知识竞赛题库100道及答案一套 37页

2026年贵州水利水电职业技术学院单招职业技能.. 46页

2026年江苏网约车人证考试题库及参考答案1套 29页

2026年沧州社区招聘考试题库附答案 42页

2026年河南特招中医考试题库附答案 38页

项目建议书编制流程建议书 6页

面部护理建议书 5页

青年员工发展指导建议书 5页

2026年浑南消防文员笔试题库附答案 40页

院长沟通建议书 5页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

六年级英语上册第一单元测试题-(含答案) 9页

喝酒给老婆的检讨书 6页