第13章 预处理-【千锋教育】C语言程序设计(微课)同步教案
2023-03-22
|
6页
|
104人阅读
|
0人下载
教辅
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | C语言程序设计 |
| 教材版本 | - |
| 年级 | 高三 |
| 章节 | - |
| 类型 | 教案 |
| 知识点 | C语言概述 |
| 使用场景 | 同步教学 |
| 学年 | 2023-2024 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | DOCX |
| 文件大小 | 78 KB |
| 发布时间 | 2023-03-22 |
| 更新时间 | 2023-10-27 |
| 作者 | 北京千锋互联科技有限公司 |
| 品牌系列 | - |
| 审核时间 | 2023-03-22 |
| 下载链接 | https://m.zxxk.com/soft/38223734.html |
| 价格 | 2.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
千锋教育
《C语言程序设计》
教学设计
课程名称: C语言程序设计教程
授课年级:
授课学期:
教师姓名:
2017年09月01日
课程名称
第13章 预处理
计划学时
3学时
内容分析
本章主要介绍宏定义的使用、文件包含、条件编译
教学目标
与
教学要求
掌握宏定义、文件包含、条件编译
教学重点
带参数的宏定义、带参宏与函数的区别
教学难点
宏定义、文件包含、条件编译
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(宏定义)
宏定义
宏定义是最常用的预处理功能之一,对于预处理器而言,它在遇到宏定义之后,会将随后在源代码中出现的宏名进行简单的替换操作。
· #define与undef
宏定义指令以#define开头,后面跟随宏名和宏体,其语法格式如下:
#define 宏名 宏体
为了和其他变量以及关键字进行区分,宏定义中的宏名一般由全大写英文字母以及下划线组成。注意末尾没有分号,因为这是指令而非语句,具体示例如下:
#define PI 3.14
在这个宏定义中定义了一个标识符PI,它所代表的值是3.14。预编译时在随后的源代码中凡是出现了PI的地方都会被替换为3.14,这个过程称为宏展开。
· 不带参数的宏定义
宏定义分为不带参数的宏定义和带参数的宏定义,在13.1.1小节中,使用#define指令完成了简单的字符替换工作就属于不带参数的宏定义,两者的区别在于是否有参数列表,本节将介绍不带参数的宏定义的其它用法。
· 带参数的宏定义
除了无参数的宏定义之外,有的时候在程序中更希望能够使用带参数的宏定义,这样在完成替换过程的时候会有更多的灵活性,其语法格式如下:
#define 宏名(形参列表) 宏体
· 带参宏的注意事项
带参宏的参数不同于函数中的参数,带参宏的参数只是简单的替换,因此将一个表达式传递给带参宏,如果不加括号的话,很有可能会出问题。
· 带参宏与函数的区别
带参宏与函数共有8点不同之处,具体如下。
(1) 宏会在编译器在对源代码进行编译的时候进行简单替换,不会进行任何逻辑检测,即简单代码复制而已。
(2)宏进行定义时不会考虑参数的类型。
(3)参数宏的使用会使具有同一作用的代码块在目标文件中存在多个副本,即会增长目标文件的大小。
(4)参数宏的运行速度会比函数快,因为不需要参数压栈/出栈操作。
(5)参数宏在定义时需留心,多加括号。
(6)函数只在目标文件中存在一处,比较节省程序空间。
(7)函数的调用会牵扯到参数的传递,压栈/出栈操作,速度相对较慢。
(8)函数的参数存在传值和传地址(指针)的问题,参数宏不存在。
第二课时
(文件包含、条件编译)
文件包含
文件包含是指一个文件可以将另外一个文件的全部内容包含进来,C语言中通过#include指令来实现文件包含。在预处理过程中出现#include引入文件的地方,被包含的文件的内容会被直接插入到文件中文件包含指令相对应的位置,然后再对合并后的文件进行编译。使用文件包含指令,可以减少重复性的劳动,有利于程序的修改和维护,同时也是模块化设计思想所要求的。
· 源文件与头文件
在C语言程序中,头文件被大量使用。一般而言,每个C程序通常由头文件(.h)和源文件(.c)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明,它就像是一本书中的目录,读者可通过目录,可以很方便就查阅其需要的内容(函数库)。而源文件用于保存程序的实现。
在开发过程中把源文件与头文件分开写成两个文件是一个良好的编程风格,程序中需要使用到这些信息时,就用#include命令把它们包含到所需的位置上去,从而免去每次使用它们时都要重新定义或声明的麻烦。
· 引入头文件
一般来说,在程序中包含头文件的方式有2种,具体示例如下:
#include <stdio.h>
#include “stdlo.h”
第1种方式将通知预处理在编译器自带的头文件中搜索文件名stdio.h。
第2种方式将通知预处理在当前程序的文件夹下搜索该文件,假如搜索不到,再去编译器自带的头件中进行搜索。
可根据情况选择这2种方式,假如程序建立在c:\temp目录下,同时用户将stdio.h文件也复制到了该目录下,那么采用第2种方式会提高搜索效率,因为它首先到当前程序目录下进行搜索。
条件编译
条件编译指令用来告诉编译系统在不同的条件下,需要编译不同位置的源代码。一般情况下源程序中所有语句都参加编译。但有时希望在满足一定条件时,编译其中的一部分语句,在不满足条件时编译另一部分语句,这就是所谓的条件编译。正确合理地使用条件编译指令可
资源预览图
1
2
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。