网站大量收购独家精品文档,联系QQ:2885784924

C语言第八章ppt.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第八章ppt

目录 宏定义 文件包含 条件编译 概 述 编译预处理的概念 C语言允许在程序中使用几种特殊的命令(它们不是一般的C语句),在C编译系统对程序进行通常的编译之前,先对程序中这些特殊命令进行“预处理”,然后将预处理的结果和源程序一起再进行通常的编译处理,以得到目标代码。 主要预处理功能 宏定义 : #define PIE 3.1415926 文件包含 : #include stdio.h 条件编译: #ifdef DEBUG 1、宏定义 1)不带参数的宏定义:定义符号常量 不带参数的宏一般用于定义符号常量,以一简单名字代替一长字符序列。预编译时将程序中单独出现的宏名替换为字符序列,这个过程称为“宏展开” 可以用#undef命令终止宏定义的作用域 2)带参数的宏定义 #define PI 3.1415926 #define S(r) PI*r*r void main(){ float a,area; a=3.6; area = S(a); printf(r = %f\narea = %f\n,a,area); } 对带参数的宏展开只是将语句中宏名后面括号内的实参字符序列代替#define命令行中的形参 例3:分析程序写出结果 #define M 3 #define N M+2 #define S(N) N*N*N main() { printf(“%d\n”,S(N));} #define PR printf #define NL \n #define D %d #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S %s void main(){ int a,b,c,d; char string[]=China; a=1;b=2;c=3;d=4; PR(D,a);PR(D2,a,b);PR(D3,a,b,c); PR(D4,a,b,c,d);PR(S,string); } 2、 文件包含 文件包含指一个源文件将另外一个源文件的全部内容包含进来,即将另外文件包含到本文件之中 一个#include命令只能包含一个头文件,若要包含n个头文件,需要使用n个#include命令 /*format.h*/ #define PR printf #define NL \n #define D %d #define D1 D NL #define D2 D D NL #define D3 D D D NL #define D4 D D D D NL #define S %s 3、条件编译 小结 预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的。程序员在程序中用预处理命令来调用这些功能。 宏定义是用一个标识符来表示一个字符串,这个字符串可以是常量、变量或表达式。在宏调用中将用该字符串代换宏名。 宏定义可以带有参数,宏调用时是以实参代换形参。而不是“值传送”。 为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号 文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。 条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。 宏定义应用扩展 定义宏LOWCASE,判断字符c是否为小写字母。 #define LOWCASE(c) (((c) = a) ((c) = z) ) 定义宏CTOD将数字字符(‘0’~‘9’)转换为相应的 十进制整数,-1表示出错。 #define CTOD(c) (((c) = 0) ((c) = 9) ? c - 0 : -1) #include format.h void main(){ int a,b,c,d; char string[]=China; a=1;b=2;c=3;d=4; PR(D1,a);PR(D2,a,b);PR(D3,a,b,c); PR(D4,a,b,c,d);PR(S,string); } 一般把被包含的文件称为“标题文件”或“头文件”,常以 .h 为其扩展名 头文件包含进来之后,形成一个文件,编译后得到一个 .obj 文件,而不是两个 例6: 在#inlcude命令中,文件名可以用双撇号或尖括号括起来 例: #include file2.h 或 #include file2.h 二者的作用不同 用尖括号形式时,系统到存放C库函数头文件所

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档