程序设计tc_13.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计tc_13

第十三章 编译预处理和动态存储分配 * * 13 .1 编译预处理 一、 基本慨念 C 程序在编译(语法、代码生成及优化)之前,要对程序 中的一些特殊命令进行预处理,系统将处理后结果和源程序一 起进行编译处理,生成目标代码。 宏定义 #define 编译预处理程序 文件包含 #include 条件编译 #ifdef #else #endif 二、 宏定义(#define) 1、不带参数的宏 格式: #define 标识符 字符串 例如: #define PI 3.1415926 说明: 1、标识符称为“宏名”,预编译时将宏名替换成字符串的过程称宏展开; 2、宏名一般要大写,以区分变量名,但也可以小写; 3、对一个宏定义进行宏展开时不作语法检查; 4、宏定义不是C 语句,行末不需要加分号; 5、#define命令写在函数的外面,其有效范围是从定义命令行开始至源文 件结束; 6、用#undef命令可以终止宏定义作用域; 例如:#define G 9.8 main() { } #undef G f1() { } 7、同一个宏名不能重复定义; 8、宏定义在一行写不下时,要在下一行续行,可在最后一个字符后加 一反斜线“\”; 9、对程序中双引号括起来的字符串,若与宏名相同,不进行替换; 例如: #define XYZ This ia a test printf(“XYZ”); 结果: XYZ (标识符在双引号中不进行宏替换) 10、宏定义时可以引用已定义的的宏名层层置换。 例如: #define R 3.0 #define PI 3.14159 #define L 2*PI*R #define S PI*R*R main() { printf(“L=%f\nS=%f\n”,L,S); } 运行结果: L=18.849556 S=28.274333 例 13.1 阅读以下函数并写出运行结果。 #define TRUE 1 #define FALSE 0 #define BOOLEAN int #define SIZE 256 #define BASE (5+2) #define REM (BASE-3) main() { BOOLEAN b[SIZE] int i; for (i=0;iSIZE;i++) if (i%BASE)==REM b[i]=TRUE; else b[i]=FALSE; } 编译预处理器的输出: main() { int b[256] int i; for (i=0;i256;i++) if (i

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档