欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    九章预处理命令.ppt

    • 资源ID:5317050       资源大小:243.03KB        全文页数:12页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    九章预处理命令.ppt

    第九章 预处理命令,9.1 宏定义9.2 文件包含9.3 条件编译,9.1 宏定义,9.1.1 不带参的宏定义1.形式:#define 标识符 字符串例#define PRICE 30#define NUMBER 10#define TOTAL PRICE*NUMBER main()printf(“TOTAL=%dn”,TOTAL);预编译后,程序为:main()printf(“TOTAL=%dn”,30*10);,2.说明:(1)不带参的宏常用来定义符号常量。(2)同一宏名可被重复定义,以最后的定义为准。(3)宏定义时,可引用已定义的宏名,层层置换。(4)宏展开时,只做简单的宏替换,不做任何语法检查或运算。(5)双引号内的宏名不被置换。(6)宏名的有效范围是从定义开始到文件结束,可用命令“#undef 标识符”来终止作用域。(7)一个命令只定义一个宏。,9.1.2 带参的宏定义1.形式:#define 宏名(参数表)包含参数的字符串例 若有宏定义:#define s(a,b)a*b 且使用该宏:area=s(3,2);则预编译后,宏展开为:area=3*2;2.宏如何展开#define s(a,b)a*b area=s(3,2);,例#define PI 3.14#define s(r)PI*r*r main()float a=3.6,area;area=s(a);/*area=3.14*3.6*3.6;*/printf(“area=%fn”,area);若main函数改为:main()float a=3.6,b=6.4,area;area=s(a+b);/*area=3.14*3.6+6.4*3.6+6.4;*/printf(“area=%fn”,area);,3.说明:(1)带参宏展开时,只是用实参简单地替换形参,并不会计算出实参值。(2)宏定义时,包含参数的字符串中的参数外面最好加一括弧。如:#define s(r)PI*(r)*(r)(3)带参宏定义时,宏名与括号之间不能加空格。若有定义:#define s(r)PI*r*r 则变为无参宏,展开为:area=(r)PI*r*r(a);4.函数与带参宏的区别:(1)函数调用时,要先自右而左计算出实参值;而带参宏展开时,只做简单的字符替换,不计算实参值。,(2)函数的调用是在运行时进行的,且为形参分配存储空间;而宏展开是在预编译时进行的,并不为形参分配存储空间。(3)对于函数,要给出参数的类型;而宏则不存在类型问题。例#define N 2+1#define M(N+1)*N/2 main()int j;for(j=1;jM;j+)printf(“%2d”,j);,结果:1 2 3 4 5 6 7,9.2 文件包含,1.形式:#include#include“文件名”第一种形式用于库函数,第二种多用于用户自定义函数。功能:预编译时,将被包含文件的内容全部复制到包含文件中。,/*format.h*/#define PR printf#define NL“n”#define D“%d”#define D1 D NL/*file1.c*/#include“format.h”main()int a=1;PR(D1,a);,文件包含处理后:/*file1.c*/#define PR printf#define NL“n”#define D“%d”#define D1 D NLmain()int a=1;PR(D1,a);,宏展开:printf(“%d”“n”,a);,说明:若被包含文件修改了,则包含此文件的所有文件要重新编译。文件包含可嵌套P196。一个命令只包含一个文件,且要注意包含顺序。若文件1包含文件2,而文件2中要使用文件3的内容,则在文件1中应使用命令:#include“file3.h”#include“file2.h”,9.3 条件编译,源程序中的一部分内容只在满足一定条件时才进行编译。三种形式及功能#ifdef 标识符 程序段1#else 程序段2#endif 若宏定义了标识符,则执行程序段1;否则,执行程序段2。,2.#ifndef 标识符 程序段1#else 程序段2#endif若没有宏定义标识符,则执行程序段1;否则,执行程序段2。3.#if 表达式 程序段1#else 程序段2#endif 若表达式的值为真,则执行程序段1;否则,执行程序段2。,

    注意事项

    本文(九章预处理命令.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开