C程序设计第九章PPT课件_第1页
C程序设计第九章PPT课件_第2页
C程序设计第九章PPT课件_第3页
C程序设计第九章PPT课件_第4页
C程序设计第九章PPT课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计锦城学院电子系刘英 第9章预处理命令 9 1宏定义9 2 文件包含 处理9 3条件编译 预处理指在进行编译的第一遍扫描 词法扫描和语法分析 之前所作的工作 处理完后自动进入对源程序的编译 标志 以 符号开头例如 include defineN10 9 1宏定义 用一个标识符来表示一个字符串 称为宏 例9 1 使用不带参数的宏定义 宏名 一般大写若不带参数 称为无参宏 编译预处理时由系统自动用3 1415926去代换 称为宏展开或宏代换 1 无参宏定义的说明 一般形式 define标识符字符串字符串中可以含任何字符 常数 表达式 宏展开时仅以该字符串简单取代宏名 预处理程序对它不作任何检查 宏定义必须写在函数之外 在行末不加分号 取消宏定义 使用 undef宏名 例如 结果是 5 9 例如 definePI3 1415926intmain void undefPI PI的作用域结束处 voidfun1 voidfun2 上面程序结构表示PI只在main函数中有效 在fun1和fun2中无效 宏名在源程序中若用引号括起来 则预处理程序不对其作宏代换 例如 definePI3 1415926intmain void 主函数main void printf PI 宏名PI用双引号括起来 不作宏替换 printf n return0 程序运行结果如下 宏定义允许嵌套 例9 2 在宏定义中引用已定义的宏名 2 带参宏定义的说明 定义一般形式 define宏名 形参表 字符串带参宏调用的一般形式为 宏名 实参表 例9 3 使用带参数的宏 实参代替形参 带参宏定义中 宏名和形参之间不加空格 在带参宏定义中 形式参数不分配内存单元 所以不作类型定义 在宏定义中的形参是标识符 宏调用中的实参可以是表达式 在宏定义中 字符串内的形参和字符串一般都要用括号括起来以避免出错 例9 3 使用带参数的宏 能否得到正确的结果 正确结果 例9 3 使用带参数的宏 能否得到正确的结果 总结 在宏定义中 字符串内的形参和字符串一般都要用括号括起来 扩展 带参的宏和带参函数很相似 但有本质不同 例9 4 用宏代表输出格式 函数名转义字符格式说明符 宏定义 宏名的嵌套 9 2文件包含 文件包含的两种形式 1 include 文件名 2 include 表示此文件为标准库头文件 查找时从系统设置的包含文件目录下查找 表示此文件为用户编写的文件 查找时从正在编译的程序所在目录下查找 若找不到再按标准格式查找 文件包含命令的功能 将指定的头文件插入到此命令行位置取代该命令行 从而将指定的头文件和当前的源程序文件连成一个源文件 B file1 h file2 c include A 包含 A B 等价于 file2 c 例9 5 文件包含应用举例 1 将格式宏做成头文件format h 2 主文件file c 注意编译顺序 文件包含是可以嵌套的在一个被包含文件中又可以包含另一个被包含文件 file1 c file2 c include file3 c include 9 3条件编译 一般情况下 源程序中所有的行都参加编译 但是有时希望按不同的条件去编译不同的程序部分 这就是 条件编译 条件编译产生不同的目标代码文件 这对于程序的移植和调试是很有用的 条件编译命令一共有三种格式 1 第一种 ifdef else和 endif 使用形式1 ifdef标识符程序段1 else程序段2 endif 功能 如果标识符已被 define命令定义过 则对程序段1进行编译 否则对程序段2进行编译 若无程序段2 它为空 本格式中的 else可省略 2 第二种 ifndef else和 endif 格式 ifndef标识符程序段1 else程序段2 endif 功能 如果标识符未被 define命令定义过 则对程序段1进行编译 否则对程序段2进行编译 这与第一种形式的功能相反 若无程序段2 本格式中的 else可省略 在编写大型程序时 通常将所用到的函数原型 外部变量 全局类型的声明 头文件的包含命令统一编写在一个头文件 比如alg h 中 将函数实现统一编写在一个源程序文件 比如alg c 中实现 就像 主函数main 放在主函数文件main c中 3 第3种 if else和 endif 格式 if常量表达式程序段1 else程序段2 endif 功能 如常量表达式的值为真 非0 则对程序段1进行编译 否则对程序段2进行编译 因此可以使程序在不同条

温馨提示

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

评论

0/150

提交评论