1 / 24
文档名称:

第8章 预编译处理.ppt

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

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

分享

预览

第8章 预编译处理.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第8章 预编译处理.ppt

文档介绍

文档介绍:第8章预处理命令
《C语言程序设计》
课程讲义
2006年4月
上一章节课程回顾
函数定义的一般形式
函数的参数和函数的值
函数的调用
函数的嵌套调用
函数的递归调用
数组作为函数参数
局部变量和全局变量
变量的存储类别
第8章预处理命令
概述
宏定义
文件包含
条件编译

编译预处理:在源程序文件中,加入“编译预处理命令”,使编译程序在对源程序进行通常的编译(包括词法分析、语法分析、代码生成、代码优化)之前,先对这些命令进行预处理,然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码(OBJ文件)。
C提供的编译预处理命令
宏命令(Macro)
文件包含命令(include)
条件编译命令
这些命令均以#开头,以区别于语句。
宏(Macro)定义
一、不带参数的宏
一般形式: #define 标识符字符串
如: #define PI
作用:用标识符(称为“宏名”)PI代替字符串“”。
在预编译时,将源程序中出现的宏名PI替换为字符串“”,这一替换过程称为“宏展开”。
#define:宏定义命令
#undef:终止宏定义命令
[例]
PI
main()
{
float l,s,r,v;
printf("input radius:");
scanf("%f",&r); /* 输入圆的半径*/
l = *PI*r; /* 圆周长*/
s = PI*r*r; /* 圆面积*/
v = *PI*r*r*r; /* 球体积*/
printf("l=%\ns=%\nv=%\n",l,s,v);
}
关于宏定义的说明:
1、一般宏名用大写字母表示。(变量名一般用小写字母)。
2、使用宏可以提高程序的可读性和可移植性。如上述程序中,多处需要使用π值,用宏名既便于修改又意义明确。
3、宏定义是用宏名代替字符串,宏扩展时仅作简单替换,不检查语法。语法检查在编译时进行。
4、宏定义不是C语句,后面不能有分号。如果加入分号,则连分号一起替换。
如:
#define PI ;
area = P*r*r;
在宏扩展后成为:
area = ;*r*r;
结果,在编译时出现语法错误。
5、通常把#define命令放在一个文件的开头,使其在本文件全部有效。(#define定义的宏仅在本文件有效,在其它文件中无效,这与全局变量不同)。
6、宏定义终止命令#undef结束先前定义的宏名。
#define G
main()
 {
 }
#undef G /* 取消G的意义*/
f1()
   ┆
7、宏定义中可以引用已定义的宏名。
[]
#define R
#define PI
#deinfe L 2*PI*R
#define S PI*R*R
main()
{
printf("L=%f\nS=%f\n",L,S);
}
8、对程序中用双引号括起来的字符串,即使与宏名相同,也不替换。例如上例的printf语句中,双引号括起来L和S不被替换。
二、带参数的宏
一般形式:
#define 宏名(参数表) 字符串
带参数的宏在展开时,不是进行简单的字符串替换,而是进行参数替换。例、

最近更新

2024年甘肃卫生职业学院单招职业技能测试题库.. 41页

2024年甘肃林业职业技术学院单招职业倾向性测.. 41页

2024年甘肃畜牧工程职业技术学院单招职业技能.. 40页

2024年甘肃省天水市单招职业倾向性测试题库最.. 39页

2024年甘肃省平凉地区单招职业倾向性考试模拟.. 39页

2024年甘肃省甘南藏族自治州单招职业倾向性考.. 40页

2024年甘肃省酒泉地区单招职业倾向性考试模拟.. 40页

2024年甘肃能源化工职业学院单招职业适应性测.. 41页

2024年甘肃钢铁职业技术学院单招职业倾向性测.. 41页

2024年白银希望职业技术学院单招职业技能考试.. 40页

2024年白银矿冶职业技术学院单招职业适应性测.. 40页

2024年皖西卫生职业学院单招综合素质考试模拟.. 40页

2024年益阳医学高等专科学校单招职业倾向性考.. 40页

2024年盐城工业职业技术学院单招职业技能考试.. 39页

2024年盐城幼儿师范高等专科学校单招职业适应.. 40页

2024年眉山药科职业学院单招职业倾向性测试模.. 41页

2024年石家庄城市经济职业学院单招职业适应性.. 39页

2024年石家庄工商职业学院单招职业适应性考试.. 39页

2024年石家庄理工职业学院单招职业倾向性测试.. 39页

2024年石家庄科技信息职业学院单招职业倾向性.. 39页

2024年石家庄科技职业学院单招职业倾向性考试.. 39页

2024年石家庄财经职业学院单招职业适应性考试.. 40页

2024年石家庄铁路职业技术学院单招职业倾向性.. 40页

2025年国家开放大学《建筑力学》章节测试参考.. 13页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

国开《建筑力学》期末机考答案 15页

介绍医院门诊ppt 28页

农村人才流失国外研究报告 2页

栏杆计算书 2页

黄酒评分、扣分标准表(共1页) 1页