C语言程序设计教程第版.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言程序设计教程第版.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计教程第版.pptx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、10.1 10.1 文件包含 “文件包含“:是指一个源文件可以将另外一个 源文件的全部内容包含进来。C语言提供#include命令来实现“文件包含”的操作,其一般形式为:#include“文件名”#include 或作用:使编译系统把指定的被包含文件嵌入 到带有#include的源文件中。第1页/共27页“文件包含”示意图 file1.c file2.c file1.c 包含#include“file2.c”B A B A (a)(b)(c)第2页/共27页假如file1.cfile1.c文件中的内容如下:int a,b,c;int a,b,c;float m,n,p;float m,n,p;
2、char r,s,t;char r,s,t;file2.c file2.c文件的内容如下:#includefile1.cincludefile1.cmain()main()经过编译预处理后,file2.cfile2.c文件的内容为:int a,b,c;int a,b,c;float m,n,p;float m,n,p;char r,s,t;char r,s,t;main()main()第3页/共27页包含文件的查找方法:#include“文件名”先在当前工作目录中去查找,若找不到再到指定的标准目录中去查找。如:对Turbo C编译系统,先在用户目录下 查找,然后在TCinclude文件夹中查找
3、。#include 直接到系统指定的标准目录中去查找。如:对Turbo C编译系统,直接在TCinclude 文件夹中查找。第4页/共27页在使用编译预处理#includeinclude语句时,需要注意的几个问题如下:(1)(1)当#includeinclude语句指定的文件中的内容发生改变时,包含文件的所有源文件都应该注意重新进行编译等处理。(2)(2)文件包括可以嵌套使用,即被包括的文件中还可以使用#includeinclude语句。(3)(3)由#includeinclude语句指定文件中可以包含任何语言成分,通常将经常使用的、具有公共性质的符号常量、带参数的宏定义以及外部变量等集中起来
4、放在这种文件中,这样可以避免一些重复操作。(4)被包含的文件通常是源文件,而不是目标文件。第5页/共27页根据经验的总结,以下内容放在头文件中比较合适。需要说明的是C语言对此没有强行的规定。包含指令(嵌套),如:#include函数声明,如:extern float fun(float x);类型说明,如:enum bool false,true常量定义,如:const float pi=3.14159;数据声明,如:extern int m;宏定义,如:#define PI 3.1415926;第6页/共27页10.2.1 无参宏定义 作用:用标识符来代表一个字符串。10.2 10.2 宏定
5、义宏名宏内容无分号宏:是对正文进行代入或嵌入的一种功能。即从 一字符流中取出某个字符串去代替源程序里 的标识符。1.一般形式:#define define 标识符标识符 常量常量第7页/共27页引例:#define PI 3.1415926main()float l,s,r,v;printf(“input radius:”);scanf(“%f”,&r);l=2.0*PI*r;s=PI*r*r;v=3.0/4*PI*r*r*r;printf(“l=%10.4fns=%10.4fnv=%10.4fn”,l,s,v);其中#define PI 3.1415926 作用是指定标识符PI来代表“3.1
6、415926”第8页/共27页宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开中由预处理程序层层代换。例如:#define N 2#define M N+1#define NUM (M+1)*M/2 替换的过程为;NUM=(M+1)*M/2;而M=M+1,也就是说NUM=(N+1+1)*N+1/2。第9页/共27页宏名用做代替一个字符串,不作语法检查;宏定义的字符串不能以“;”结尾,字符串结束后一 定要换行;C语言允许宏定义出现在程序中函数外面的任何 位置,但一般情况下它总写在文件的开头。说明:宏名一般习惯用大写字母,以便与变量名相区别;在进行宏定义时,可以引用已定义的宏名;
7、(6)宏名的前后应有空格,以便准确地辨认宏名,如果没有留空格,则程序运行的结果会出错。第10页/共27页 说明:宏替换由编译程序预先进行;宏替换范围是除字符串以外的所有宏名字;若替换后文本串中仍含有宏名字,将再次进 行替换,直到程序中不含宏名字为止。#define PI 3.1415926#define R 3.0#define L 2*PI*R#define S PI*R*R宏替换宏替换(宏展开宏展开):用宏内容(字符串)原样代:用宏内容(字符串)原样代换程序中的所有宏名字的过程。换程序中的所有宏名字的过程。第一次替换:printf(l=%f ns=%fn,2*PI*R,PI*R*R);二:
8、printf(l=%f ns=%fn,2*3.1415926*3.0,3.1415926*3.0*3.0);main()printf(l=%f ns=%fn,L,S);第11页/共27页10.2.2 有参宏定义 一般形式:#define define 宏名(宏形参数表)宏名(宏形参数表)字符串字符串作用:宏替换时以实参数替代形参数。#define PI 3.1415926#define S(r)PI*r*rmain()float r1=3.6,area;area=S(r1);/*S(r1)用PI*r1*r1替换*/printf(r=%f area=%fn,r1,area);第12页/共27页注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内