c语言提供的预处理功能主要有三种,C语言课件PPT第9章(简化版)概要1.ppt

C语言课件PPT第9章(简化版)概要1

第9章 预处理命令 所谓编译预处理是指,在对源程序进行编译之前,先对源程序中的编译预处理命令进行处理;然后再将处理的结果和源程序一起进行编译,以得到目标代码。 C语言提供的预处理功能主要有三种:宏定义、文件包含、条件编译 所有的预处理命令都是以“#”开头的。 9.1 宏定义 在C语言中,宏分为无参宏有参宏两种。 9.1.2 带参数的宏定义 1.带参宏定义的一般格式 #define 宏名(形参表) 字符串 如: #define S(a,b) a*b #define L(a,b) (a+b)*2 9.1.2 带参数的宏定义 2.带参宏的调用和宏展开 调用格式:宏名(实参表) 9.1.2 带参数的宏定义 为了避免出错,可以在所有形参外,均加上一对圆括号。 如: #define S(r) 3.14*(r)*(r) 则: area=S(a+b); 展开后为: area=3.14*(a+b)*(a+b); 9.1.2 带参数的宏定义 [例9-2] 用宏定义求圆的面积 #define PI 3.14 #define S(r) PI*r*r main() { float a,area; scanf("%f",&a); area=S(a); printf("\nr=%f,area=%f",a,area); getch(); } 9.2 文件包含处理 1.文件包含的概念 文件包含是指,一个源文件可以将另一个源文件的全部内容包含进来。 2.文件包含处理命令的格式 #include “文件名” #include * * 第9章 预处理命令 1. 无参宏定义的一般格式 #define 标识符 字符串 如: #define PI 3.1415926 #define PRICE 30 带参宏展开只是将形参简单地置换为实参 如: #define S(r) 3.14*r*r area1=S(a); 展开后为: area1=3.14*a*a; area2=S(a+b);展开后为: area2=3.14*a+b*a+b; 运行程序 两种格式的区别仅在于: (1)使用“ ”:系统首先到当前目录下查找被包含文件,如果没找到,再到系统指定的“包含文件目录” 去查找。 (2)使用< >:直接到系统指定的“包含文件目录”(include)去查找。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值