单元8 编译预处理_第1页
单元8 编译预处理_第2页
单元8 编译预处理_第3页
单元8 编译预处理_第4页
单元8 编译预处理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8单元编译预处理1宏定义2文件包含目录CONTENTS知识拓展3

任务1:宏定义

预处理:在进行编译的第一遍扫描(词法扫描和语法分析)

之前所做的工作。

预处理命令:以“#”号开头的命令。

如“#include”、“#define”等。

宏定义12无参数的宏定义带参数的宏定义

一般形式:#define标识符

字符串#是预处理命令的标志,“define”为宏定义命令,“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。

例如:#definePI3.1415926#definesum1+2无参数的宏定义宏定义是用宏名来表示一个字符串,这只是一种简单的代换。宏定义必须写在函数之外宏名若在源程序中用引号括起来,则预处理程序不对其做宏代换。宏定义允许嵌套

习惯上,宏名用大写字母表示

注意事项宏定义不是说明语句,在行末不必加分号。无参数的宏定义

一般形式:#define宏名(形参表)例如:#defineAREA(R)3.14*R*R#defineSUM(X,Y)X+Y带参数宏调用的一般形式为:

宏名(实参表)带参数的宏定义带参数的宏定义任务实施#defineAREA(R)3.14*R*Rmain(){floatr,s;printf(“pleaseinputtheradius:”);scanf(“%f”,&r);s=AREA(r);printf(“theareais%f”,s);}用带参数的宏,求圆的面积。theareais12.560000pleaseinputtheradius:2.0↙运行结果宏名和形参表之间不能有空格出现。在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。在宏定义中,字符串内的形参通常要用括号括起来以免出错。

习惯上,宏名用大写字母表示

注意事项形式参数不分配内存单元。带参数的宏定义1用带参数的宏,求两数之和。测一测任务2:文件包含文件包含01#include<文件名>或

#include“文件名”02#include<stdio.h>#include“string.h”举例一般格式包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。1一个include命令只能指定一个被包含文件,若有多个文件要包含,则需要多个include命令。2注意事项任务3:技能训练

【例8-3】把下列运算表达式定义为带参的宏。

(1)求两个数的小者。

(2)求x的绝对值。

(3)判断x是否奇数。

(4)两个整数交换。

如何定义?知识拓展

【例8-4】键盘输入正方形的边长a1,求其表面积S及体积V。

如何实现?知识拓展

【例8-4】键盘输入正方形的边长a1,求其表面积S及体积V。

源程序:#defineL(a,S,V)S=6*a*a;V=a*a*amain(){inta1,S1,V1;scanf(“%d”,&a1);L(a1,S1,V1);printf(“%d,%d,%d”,a1,S1,V1);}知识拓展PPT模板下载:/moban/行业PPT模板:/hangye/节日PPT模板:/jieri/PPT素材下载:/sucai/PPT背景图片:/beijing/PPT图表下载:/tubiao/优秀PPT下载:/xiazai/PPT教程:/powerpoint/Word教程:/word/Excel教程:/excel/资料下载:/ziliao/PPT课件下载:/kejia

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论