版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章第八章 预处理预处理2022-5-2宏定义和文件包含宏定义和文件包含宏定义:宏定义:define1.无参宏无参宏#define 标识符标识符 字符串字符串下面的宏定义?下面的宏定义?#define Pi 3.1415927#define M (y*y+3y)#define NAME XiaoMing;宏定义:宏定义:define1.无参宏无参宏#define 标识符标识符 字符串字符串#define M (y*y+3*y)main() int s,y;printf(input a number:);scanf(%d,&y);s=3*M+4*M+5*M;printf(s=%dn,s
2、);main() int s,y;printf(input a number: );scanf(%d,&y);s=3*(y*y+3*y) +4*(y*y+3*y)+5*(y*y+3*y);printf(s=%dn,s);宏定义:宏定义:define1.无参宏无参宏#define 标识符标识符 字符串字符串#define M y*y+3*ymain() int s,y;printf(input a number:);scanf(%d,&y);s=3*M+4*M+5*M;printf(s=%dn,s);main() int s,y;printf(input a number: );
3、scanf(%d,&y);s=3*y*y+3*y +4*y*y+3*y+5*y*y+3*y;printf(s=%dn,s);宏定义:宏定义:define1.无参宏无参宏1.宏的作用域宏的作用域 可以用可以用#undef结束一个宏定义结束一个宏定义#define PI 3.14159main() # undef PI2.引号里面的宏名不会被替换引号里面的宏名不会被替换#define PI 3.14159main() printf(“PI=%8f”,PI);3.宏的嵌套宏的嵌套#define PI 3.1415926#define S PI*y*y4.用宏定义表示数据类型用宏定义表示数据类
4、型#define INT int#define CHAR char#define PT int *INT a,b; CHAR c; PT d;PT e,f;int a,b; char c; int * d;int * e,f;宏定义:宏定义:define2.带参数的宏定义带参数的宏定义#define 宏名宏名(形参表形参表) 字符串字符串#define M(y) y*y+3*yk=M(5); k=5*5+3*5;宏定义:宏定义:define2.带参数的宏定义带参数的宏定义#define MAX(a,b) (ab)?a:b /注意注意MAX后没空格后没空格main() int x,y,max;
5、printf(input two numbers: ); scanf(%d,%d,&x,&y); max=MAX(x,y); printf(max=%dn,max);max=(xy)?x:y;宏定义:思考宏定义:思考2.带参数的宏定义带参数的宏定义请把下面带参宏定义替换一下,想想看,是我们想要的结请把下面带参宏定义替换一下,想想看,是我们想要的结果吗?果吗? #define SQUARE(y) y*yA=SQUARE(5);A=5*5;A=SQUARE(m+5);A=m+5*m+5;宏定义:思考宏定义:思考2.带参数的宏定义带参数的宏定义请把下面带参宏定义替换一下,想想看,是我
6、们想要的结请把下面带参宏定义替换一下,想想看,是我们想要的结果吗?果吗? #define SQUARE(y) (y)*(y)A=SQUARE(5);A=5*5;A=SQUARE(m+5);A=(m+5)*(m+5);A=1/SQUARE(m+5);A=1/(m+5)*(m+5);宏定义:思考宏定义:思考2.带参数的宏定义带参数的宏定义请把下面带参宏定义替换一下,想想看,是我们想要的结请把下面带参宏定义替换一下,想想看,是我们想要的结果吗?果吗? #define SQUARE(y) (y)*(y)A=SQUARE(5);A=5*5;A=SQUARE(m+5);A=(m+5)*(m+5);A=1/
7、SQUARE(m+5);A=1/(m+5)*(m+5);宏定义:思考宏定义:思考2.带参数的宏和函数带参数的宏和函数请把下面带参宏定义替换一下,想想看,是我们想要的结请把下面带参宏定义替换一下,想想看,是我们想要的结果吗?果吗? int SQUARE(int y) return (y)*(y);int i=1;A=SQUARE(+i);int i=1;A=SQUARE(+i);A=(+i)*(+i); #define SQUARE(y) (y)*(y)根据根据编译环境编译环境不同不同:A=2*3; 或或 A=3*2; 或或 A=3*3;A=SQUARE(1+1) =SQUARE(2) =2*2文件包含文件包含基本格式基本格式#include
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省2025-2026学年高三(上)期末物理试卷(含答案)
- 期末测试卷(含答案含听力原文无音频)2025-2026学年人教版英语八年级下册
- 五年级下册数学的试卷及答案
- 污水处理试题及答案
- 往年成考试卷及答案
- 2022~2023文化教育职业技能鉴定考试题库及答案解析第64期
- 2022人教版六年级上册数学期末综合卷完整参考答案
- 英语动词的时态专项训练100(附答案)含解析
- 数字城管考试试题及答案
- 生物安全学考试题及答案
- 绿电直连政策及新能源就近消纳项目电价机制分析
- 认识时间(课件)二年级下册数学人教版
- 2026届陕晋青宁四省高三语文二次联考(天一大联考)作文题目解析及范文:“避”的抉择价值判断与人生担当
- 【四年级】【数学】【秋季上】期末家长会:数海引航爱伴成长【课件】
- 律师挂靠协议书
- (2025)意大利多学科工作组共识声明:努南综合征的多学科治疗
- 车位使用权抵债协议书
- 数控加工中的刀具寿命优化与加工成本降低研究毕业答辩
- (正式版)SHT 3078-2024 立式圆筒形料仓工程设计规范
- 计算机就业能力展示
- 设备维修团队的协作与沟通
评论
0/150
提交评论