C语言程序设计 理实一体化教程 教学课件 ppt 作者 杜恒 第9章 编译预处理

上传人:E**** 文档编号:89190713 上传时间:2019-05-21 格式:PPT 页数:18 大小:556KB
返回 下载 相关 举报
C语言程序设计 理实一体化教程  教学课件 ppt 作者 杜恒 第9章  编译预处理_第1页
第1页 / 共18页
C语言程序设计 理实一体化教程  教学课件 ppt 作者 杜恒 第9章  编译预处理_第2页
第2页 / 共18页
C语言程序设计 理实一体化教程  教学课件 ppt 作者 杜恒 第9章  编译预处理_第3页
第3页 / 共18页
C语言程序设计 理实一体化教程  教学课件 ppt 作者 杜恒 第9章  编译预处理_第4页
第4页 / 共18页
C语言程序设计 理实一体化教程  教学课件 ppt 作者 杜恒 第9章  编译预处理_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《C语言程序设计 理实一体化教程 教学课件 ppt 作者 杜恒 第9章 编译预处理》由会员分享,可在线阅读,更多相关《C语言程序设计 理实一体化教程 教学课件 ppt 作者 杜恒 第9章 编译预处理(18页珍藏版)》请在金锄头文库上搜索。

1、第9章 编译预处理,第9章 编译预处理,9.1 宏定义 9.2 文件包含 9.3 综合实训 习 题,9.1 宏定义,知识导例 求圆的面积。,09(232-241)P10 fyy_Embed_1.png,图9-1 程序ex9_1_1.c运行结果 相关知识 1.宏的概念 2.无参宏的定义及使用 3.有参宏的定义及使用 4.带参数的宏和函数的区别,9.1 宏定义,1)函数调用时,先求出实参表达式的值,然后代入形参;而使用带参数的宏只是进行简单的字符替换。 2)函数调用是在程序运行时处理的,为形参分配临时的内存单元;而宏展开则是在编译前进行的,在展开时并不分配内存单元,不进行值的传递处理,也没有“返回

2、值”的概念。 3)对函数中的实参和形参类型要求一致;而宏名无类型,它的参数也无类型,只是一个符号代表,展开时代入指定的字符串即可。 4)调用函数只可得到一个返回值,而使用宏则可以设法得到几个结果。 实践训练 【实训项目一】,9.1 宏定义,1.实训内容 2.解决方案,09(232-241)P10 fyy_Embed_2.png,图9-2 程序prac9_1_1.c运行结果 3.项目分析 【实训项目二】 1.实训内容,9.1 宏定义,09(232-241)P10 fyy_Embed_3.jpg,2.解决方案,09(232-241)P10 fyy_Embed_4.png,9.1 宏定义,09(23

3、2-241)P10 fyy_Embed_5.png,a) b) 图9-3 程序prac9_1_2.c运行结果a)三条边能构成三角形的运行结果 b)三条边不能构成三角形的运行结果 3.项目分析,9.1 宏定义,1)函数的形参都要定义类型,实参也必须有明确的类型,二者要求一致;而宏不存在参数类型问题,它只是一个符号代表,展开时代入指定的字符即可。 2)函数调用影响运行时间,宏替换影响编译时间,即在编译之前进行了预编译。 3)函数只有一个返回值,而宏替换可能有多个结果。,9.2 文件包含,知识导例 下面程序定义了一些宏,体会宏使用的方法,并且把宏的定义都放在一个头文件中,以便在源程序中使用。,09(

4、232-241)P10 fyy_Embed_6.png,图9-4 程序ex9_2_1.c运行结果 相关知识 文件包含命令行的一般形式为:,9.2 文件包含,1)包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。 2)一个include命令只能指定一个被包含文件,若有多个文件要包含,则需要使用多个include命令。 3)文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件。 实践训练 【实训项目】 1.实训内容 2.解决方案,9.2 文件包含,09(232-241)P10 fyy_Embed_7.png,09(232-241)P10 fyy_Embed_8.png,a) b)

5、,9.2 文件包含,图9-5 程序prac9_2_1.c运行结果a)输入正常数据的运行结果 b)输入异常数据的运行结果 3.项目分析,9.3 综合实训,【综合实训】 1.实训内容 2.解决方案,09(232-241)P10 fyy_Embed_9.png,9.3 综合实训,09(232-241)P10 fyy_Embed_10.png,09(232-241)P10 fyy_Embed_11.png,9.3 综合实训,09(232-241)P10 fyy_Embed_12.png,图9-6 程序prac9_3_1.c运行结果a)输入整型数据的运行结果 b)输入实型数据的运行结果c)输入字符串的运

6、行结果 d)输入错误数据的运行结果 3.项目分析,习 题,一、选择题 1.以下程序的输出结果是( 2.以下for语句构成的循环执行了( )次。 3.以下程序的输出结果是( )。 4.以下叙述正确的是( )。 5.以下程序的输出结果是( )。 6.以下叙述中正确的是( )。 二、填空题 1.以下程序的输出结果是 。 2.程序中头文件typel.h 3.在“文件包含”预处理语句中,当#include后面的文件名用双引号括起时,寻找被包含文件的方式为 。,习 题,4.执行下面的程序后,a的值是 。 5.设有以下宏定义 6.下面程序的运行结果是 。 7.执行下列程序后i的值是 。 三、编程题 1.输入两个整数,求它们相除的余数,用带参的宏来实现,编写程序。 2.分别用函数和带参的宏,从3个数中找出最大数。 3.定义一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参,输出已交换后的两个数。 4.给出一个年份year,定义一个宏,以判别该年份是否是闰年。,习 题,5.请设计输出实数的格式,包括:一行输出一个实数;一行输出2个实数;一行输出3个实数。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号