- 2
- 0
- 约4.92千字
- 约 40页
- 2017-01-01 发布于广东
- 举报
第8章 编译预处理 8.1 宏定义 C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。合理地使用预处理功能编写的程序便于阅读、修改、移植和调试,也有利于模块化程序设计。本章介绍常用的几种预处理功能。在C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为宏的标识符称为“宏名”。在编译预处理时,对程序中所有出现的宏名都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。 宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。在C语言中,宏分为有参数和无参数两种。下面分别讨论这两种宏的定义和调用。 8.1.1 无参宏定义 无参宏的宏名后不带参数。其定义的一般形式为: #define 标识符 字符串 其中的#表示这是一条预处理命令。凡是以#开头的均为预处理命令。define为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。在前面介绍过的符号常量的定义就是一种无参宏定义。此外,常对程序中反复使用的表达式进行宏定义。例如:# define M (y*y+3*y)定义M表达式(y*y+3*y)。在编写源程序时,所有的(y*y+3*y)都可由M代替,而对源程序作编译时,将先由预处理程序进行宏代换,即用(y*y+3*y)表达式去置换所有的宏名M,然后再进行编译。 8.1.2 带参宏定义 C语言允许宏带有参数。在
您可能关注的文档
- C++程序设计杨长兴刘卫国曹岳辉第7章重载与模板课件教学.ppt
- C++程序设计杨长兴刘卫国曹岳辉第8章继承和派生课件教学.ppt
- C++程序设计杨长兴刘卫国曹岳辉第9章多态性和虚函数课件教学.ppt
- C++程序设计杨长兴刘卫国曹岳辉第10章输入输出流课件教学.ppt
- C++程序设计张桦第1章开始学习C++课件教学.ppt
- C++程序设计张桦第2章数据类型与表达式课件教学.ppt
- C++程序设计张桦第3章string、vector、数组和指针课件教学.ppt
- C++程序设计张桦第4章程序流程控制课件教学.ppt
- C++程序设计张桦第5章函数课件教学.ppt
- C++程序设计张桦第6章类和对象课件教学.ppt
- 2026年初级经济法基础真题案例分析高频考点含解析.docx
- 2026年上海市黄浦区社区工作者招聘考试参考试题及答案解析.docx
- 2026年餐饮外卖小程序选型:从成本、功能到避坑,5家平台全解析.docx
- 陕西结构工程师期末考试及答案.docx
- 2026年成都市金牛区社区工作者招聘考试备考题库及答案解析.docx
- 2026年初级经济法基础真题机考押题含解析.docx
- 2026年黄冈市黄州区社区工作者招聘考试参考试题及答案解析.docx
- 2026年安徽省马鞍山市社区工作者招聘笔试参考题库及答案解析.docx
- 2026年淮安市楚州区社区工作者招聘考试参考题库及答案解析.docx
- 2026年宿州市墉桥区社区工作者招聘笔试参考试题及答案解析.docx
最近下载
- 航空运输地理 课件全套 第1--10章 地理学与航空运输地理---航空运输业的发展战略 .pdf
- (高清版)DB62∕T 3222-2022 建设工程造价成果文件编制标准.docx VIP
- 2025年静脉治疗护理技术操作规范 .pdf VIP
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第12章教案_画布API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第11章教案_界面API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第10章教案_设备API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第09章教案_位置API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第08章教案_数据缓存API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第07章教案_文件API.doc
- 《微信小程序开发零基础入门-第2版》教案(含习题) 第06章教案_媒体API.doc
原创力文档

文档评论(0)