(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件

2022-09-16
| 25页
| 122人阅读
| 0人下载
普通

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 课件
知识点 C语言概述
使用场景 同步教学
学年 2022-2023
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 98 KB
发布时间 2022-09-16
更新时间 2023-10-30
作者 春哥知识店铺
品牌系列 -
审核时间 2022-09-16
下载链接 https://m.zxxk.com/soft/34978157.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

第8章 编译预处理 C语言技能教程 第 八章 8.1 技能1:掌握宏定义的使用 8.2 技能2:读懂含有包含文件的程序 8.3 技能3:读懂含有条件编译的程序 C语言技能教程 8.1 技能1 【知识点】 1. 预处理命令#define定义了一个标识符,并在每次出现标识符时用一个字符串去代替它。这个标识符称为“宏名”。而替换过程称为“宏代换”或“宏展开”。 2. 宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。在C语言中,“宏”分为有参数和无参数两种。 3. 无参宏的宏名后不带参数。其定义的一般形式为: #define 标识符 字符串 8.1.1 不带参数的宏定义 C语言技能教程 8.1 技能1 【典型例题】 例8.1 写出下面程序段的运行结果。 #define M (2*y+3) main(){  int z,y; printf("请输入一个数: "); scanf("%d",&y); z=2*M*M +5*M+1; printf("z=%d ",z); } 8.1.1 不带参数的宏定义 C语言技能教程 8.1 技能1 【典型例题】 例8.2 写出下面程序段的运行结果。 #define PI 3.14159 #define R 2.0 #define S PI*R*R main() {float z; z=3*S*S; printf("z=%f ",z); } 8.1.1 不带参数的宏定义 C语言技能教程 8.1 技能1 【典型例题】 例8.3 写出下面程序段的运行结果。 #define P printf #define D "%d " #define F "%f " main() { int a=1, b=2, c=3; float d=1.5, e=2.6, f=3.7; P(D F,a,d); P(D F,b,e); P(D F,c,f); } 8.1.1 不带参数的宏定义 C语言技能教程 8.1 技能1 【点拨】 8.1.1 不带参数的宏定义 1. 宏代换就是一种简单的代换,宏定义用宏名表示一个字符串,在宏展开时用这个字符串取代宏名,字符串中可以含任何字符,可以是常数,也可以是表达式,预处理程序对它不作任何检查,因此如果有错误,只能在编译已经宏展开后的源程序时发现。 2. 在源程序中如果宏名用引号括起来,那么预处理程序则不对其作宏代换。 3. 宏定义允许嵌套,已经定义的宏名可以在宏定义的字符串中使用。由预处理程序在宏展开时层层代换。 C语言技能教程 8.1 技能1 【点拨】 8.1.1 不带参数的宏定义 4. 一般宏名用大写字母表示,以利于同变量区别,但也可以用小写字母表示。 5. 数据类型也可用宏定义来表示,使书写方便,但在使用时要小心,以免出错。 6. 宏定义不是说明,也不是语句,在行末不加分号。如果加上分号,则连分号也一起置换。 7. 宏定义必须写在函数的外面,其作用范围为从宏定义命令开始到当前源程序结束。 8. 如果对“输出格式”作宏定义,则可以减少书写麻烦。 C语言技能教程 8.1 技能1 【知识点】 1. 在C语言中允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用时,不仅宏展开,而且用实际参数去代换形式参数。 2. 带参宏定义的一般形式为: #define 宏名(形参表) 字符串 在字符串中含有各个形参。带参宏调用的一般形式为: 宏名(实参表); 8.1.2 带参数的宏定义 C语言技能教程 8.1 技能1 【典型例题】 例8.5 输入任意二个整数,输出最大值。 #define MAX(a,b) (a>b)?a:b main() { int x,y,max; printf("请输入二个数"); scanf("%d%d",&x,&y); max=MAX(x,y); printf("max=%d ",max); } 8.1.2 带参数的宏定义 C语言技能教程 8.1 技能1 【典型例题】 例8.6 计算x+1的平方值。 #define SQ(y) (y)*(y) main() { int x,sq; printf("请输入一个数:"); scanf("%d",&x); sq=SQ(x+1); printf("sq=%d ",sq); } 8.1.2 带参数的宏定义 C语言技能教程 8.1 技能1 【点拨】 1. 宏定义中的字符串内的形参通常要用括号括起来,以免出错。不但应该在参数的两侧加上括号,还应该在整个字符串外加括号。 2.在宏调用中的实参可以是表达式,而宏定义中的形参仅仅是标识符。 3. 在带参宏

资源预览图

(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
1
(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
2
(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
3
(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
4
(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
5
(中职)第八章 c语言技能教程-【中职专业课】2022-2023学年《计算机类》同步教学课件
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。