- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计第13章解析
C语言程序设计 第13章 编译预处理和动态存储分配 13.1 编译预处理 编译预处理:凡是以#号开头的行,都称为“编译预处理”命令行。 所谓编译预处理就是在C编译程序对C源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。 13.1.1 宏替换 一、不带参数的宏替换 命令形式: #define 宏名 替换文本 或 #define 宏名 知识点: 1)预处理命令必须以一个“#”开头,末尾不得加“;”。 2)宏名不得与程序中的其它名字相同。 3)宏名与替换文本就是等量的代换的关系。 4)替换文本中可以包含已定义过的宏名,例如: #define PI 3.14 #define ADDPI (PI+1) #define TWO_ADDPI (2*ADDPI) 4)宏定义在一行写不下转下一行,在最后一个字符后紧跟一个“\”。 5)替换文本不能替换双引号或用户标识符中与宏名相同的字符串成分,如: #define YES 20 main() { printf(“YES”); } 6)用作宏名的标识符通常用大写字母表示(不是语法规定) 7)在C程序中,宏定义的定义位置一般写在程序的开头。 练习:以下程序的输出结果是_____。 #include stdio.h #define X 5 #define Y X+1 #define Z Y*X/2 main() { int a=Y; printf(“%d”,Z); printf(“%d”,--a); } A)7 6 B)12 6 C)12 5 D)7 5 √ 二、带参数的宏替换 命令形式: #define 宏名(形参表) 替换文本 知识点: 等量代换: 如:#define MU(x,y) ((x)*(y)) a=MU(5,2)=((5)*(2))=10 b=6/MU(a+3,a)=6/((a+3)*(a)) 如:#define MU(x,y) x*y a=MU(5,2)=5*2=10 b=6/MU(a+3,a)=6/10+3*10=30 练习:以下程序的输出结果是_____。 #include stdio.h #define N 10 #define s(x) x*x #define f(x) (x*x) main() { int i1,i2; i1=1000/s(N);i2=1000/f(N); printf(“%d %d\n”,i1,i2); } 1000 10 三、终止宏定义:#undef 如:#define PI 3.14 main() { #undef PI; 在此之下,PI不再代表3.14 … } 13.1.2 文件包含 所谓文件包含,是指在一个文件中,去包含另一个文件的全部内容。在预编译时,预编译程序将用指定文件中的内容来替换此命令行。 #include命令行的形式如下: #include “文件名” 或 #include 文件名 知识点: 1)如果文件名用双引号括起来,系统先在源程序所在的目录内查找指定的包含文件,如果找不到,再按照系统指定的标准方式到有关目录中去寻找。如果文件名用尖括号括起来,系统将直接按照系统指定的标准方式到有关目录中去寻找。 2)#include命令行通常书写在所有文件的开头,故有时也把包含文件称作“头文件”。头文件名可以由用户指定,其后缀不一定用“.h”。 3)包含文件中,一般包含有一些公用的#define命令行、外部说明或对(库)函数的原型说明。例如stdio.h就是这样的头文件。 4)当包含文件修改后,对包含该文件的源程序必须重新进行编译连接。 5)在一个程序中,允许有任意多个#include命令行。 练习:头文件CH09K006.h的内容是: #define N 5 #define M1 N*3 以下程序的输出结果是_____。 #include stdio.h #include “CH09K006.h” #define M2 N*2 main() { int i;
您可能关注的文档
最近下载
- 继续教育《生态文明建设的理论与实践》考试试题及答案.docx VIP
- YMO青少年数学思维27届1-6年级全国总决赛试卷.pdf VIP
- 部编版小学语文四年级下册《古诗三首》《芙蓉楼送辛渐》预习单知识要点梳理.pdf
- 2024-2025学年高考数学一轮复习讲义:指数与指数函数(学生版+解析).pdf VIP
- 罗宾斯组织行为学第18版英文教学课件robbinsjudge_ob18_inppt_04.pptx
- 2024年中考英语热点阅读练习专题2 科学技术(含解析) .pdf VIP
- 质量部QC组年度工作总结暨年工作规划(PPT59页) .ppt
- WPS表格初级试题含答案.doc
- 2024年中考英语时文阅读06(科技与体育).doc VIP
- 2023年内蒙古大学公共课《中国近代史纲要》期末试卷A(有答案).docx VIP
文档评论(0)