- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
***********第八章编译预处理第8章编译预处理8.1宏定义8.2文件包含8.3条件编译C语言提供的编译预处理命令主要有以下三种:(1)宏定义。(2)文件包含。(3)条件编译。第八章编译预处理8.1.1不带参数的宏定义8.1宏定义#define宏名字符串标识符例如:#definePI3.1415926宏展开:将宏名替换成字符串的过程第八章编译预处理(1)宏名一般习惯用大写字母表示。(2)一个宏名只能被定义一次。(3)在进行宏定义时,可以引用已定义的宏名。(4)对在字符串常量及用户标识符中,与宏名相同的部分不作替换。例如:已定义#defineL1234在程序中有变量Length,其中L不作替换。同样在printf(L=%f,…)中的L不作替换。(5)宏定义的作用域:从定义开始到程序结束。(6)当宏定义在一行写不下,换行时需在行尾加换行字符\。8.1.1不带参数的宏定义第八章编译预处理【例8.1】使用宏定义的例子。#includestdio.h#defineR3.0#definePI3.1415926#defineL2*PI*R#defineSPI*R*Rvoidmain(){printf(L=%.2f\nS=%.2f\n,L,S);}第八章编译预处理#define宏名(形参表)字符串例如:#defineM(a,b)a*barea=M(3,7);宏展开:area=3*7;【例8.2】分析下面程序的执行结果。#includestdio.h#defineM(x,y)(x*y) voidmain(){inta=2,b=3,c,d;c=M(a,b);/*c=(a*b)*/d=M(a+1,b+1);/*d=(a+1*b+1)*/printf(c=%d,d=%d\n,c,d);}程序运行结果:c=6,d=6(为什么?)8.1.2带参数的宏定义第八章编译预处理宏调用:6/MU(2+3,4+5)宏展开:6/((2+3)*(4+5))宏调用:6/MU(2+3,4+5)宏展开:6/(2+3)*(4+5)宏调用:6/MU(2+3,4+5)宏展开:6/(2+3*4+5)宏调用:6/MU(2+3,4+5)宏展开:6/2+3*4+5(2)宏定义:#defineMU(x,y)(x*y)(3)宏定义:#defineMU(x,y)(x)*(y)(4)宏定义:#defineMU(x,y)((x)*(y))在使用带参数的宏时,要注意括号的使用!!!(1)宏定义:#defineMU(x,y)x*y第八章编译预处理8.1.3终止宏定义#undef宏名例如:#definePI3.14voidmain()…#undefPI…第八章编译预处理***********
您可能关注的文档
- Excel+Power BI数据分析 课后习题.docx
- C语言程序设计(微课版)ch2_C语言概述.pptx
- C语言程序设计(微课版)ch3_基本数据类型与常用库函数.pptx
- C语言程序设计(微课版)ch4_运算符和表达式.pptx
- C语言程序设计(微课版)ch5_C语言的控制结构.pptx
- C语言程序设计(微课版)ch11_文件.pptx
- MySQL数据库原理与应用(微课版)ch04数据库操作.pptx
- MySQL数据库原理与应用(微课版)ch06数据记录操作.pptx
- 教育心理学(第三版)8第八章 技能的学习.ppt
- 教育心理学(第三版)10第十章 教育设计与评价.ppt
- 2024-2025学年桑植一中高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海市进才中学高一入学分班考试语文作文押题及范文分析.docx
- 中国滴水水表行业市场情况研究及竞争格局分析报告.pdf
- 2024-2025学年上海师大附中高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年清华大学附属实验学校高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海市控江中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海静安外国语中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年宁波外国语学校高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年南通中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年宁波市鄞州中学高一入学分班考试语文作文押题及范文分析.docx
文档评论(0)