C语言函数课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块化程序设计 ——函数 孙小松 §6.1 函数的概念 函数定义的一般形式 函数的参数和函数的值 函数的调用 函数的嵌套调用 例3 编程求 许多数学函数都是使用递归调用形式定义的: 函数的递归调用是指在调用一个函数时又直接或间接调用函数本身. 例4 有5个人坐在一起,问第5个人多少岁?答:比第4个人大2岁;第4个人说他比第三个人大2岁;第3个人比第2个人大2岁,第2个人比第1个人大2岁.而第1个人有10岁.问第5个人多少岁? 例5 用递归调用求n!阶乘(n=0) § 6.4 编译预处理 作用: 在对源程序编译之前做一些处理,生成扩展C源程序 种类 宏定义 #define 文件包含 #include 条件编译 #if--#else--#endif等 格式: “#”开头 占单独书写行 语句尾不加分号 1 宏定义 不带参数宏定义 一般形式 #define 宏名(标识符) [宏体](字符串) 功能:用指定标识符(宏名)代替字符序列(宏体) 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 5.带参的宏与函数区别 2 文件包含 功能:一个源文件可将另一个源文件的内容全部包含进来 一般形式: #include “文件名” 或 #include 文件名 被包含文件内容 源文件(*.c) 头文件(*.h) 3 条件编译 概念:在某个条件成立的情况下才对某一部分进行编译。 三种格式: 条件编译的优点 程序举例 编写函数swap用于交换两个整数的值,例如,设a=3,b=4,调用函数swap后,得a=4,b=3. End of chap 6 三、全局变量的存储类别 全局变量都存放在静态的存储区。 用static关键字声明的全局变量,只能在本文件内使用。 没有用static关键字的全局变量可以在别的文件中使用extern关键字声明为外部变量,并在该文件中作为全局变量使用。 尽量少使用全局变量 /* a.c */ int max; void calcMax(int a[], int n) { ...... } /* main.c */ extern int max; void main() { ... printf(“%d”,max); ... } /* a.c */ static int max; void calcMax(int a[], int n) { ...... } /* main.c */ extern int max; void main() { ... printf(“%d”,max); ... } 错!max未定义 错!不能引用max 四、存储类别小结 1、变量的定义方法 [存储类别] 数据类型 变量名…… 2、变量的划分 按作用域划分: 按生存期 局部变量 全局变量 自动变量 静态变量 寄存器变量 形式参数变量 动态存储 静态存储 自动变量 形式参数 寄存器变量 静态局部变量 全局变量 按变量的存放位置 动态存储区 静态存储区 自动变量 形式参数 静态局部变量 全局变量 寄存器 寄存器变量 ?自定义的函数有两种:内部函数和外部函数。 1.内部函数 若函数的存储类型为static型,则称其为内部函数(内部函数又称为静态函数),它表示在由多个源文件组成的同一个程序中,该函数只能在其所在的文件中使用,在其他文件中不可使用。 ?内部函数的声明形式: static 返回值类型 函数名(参数); 例如: static int Statistic (); 2.外部函数 若函数的存储类型定义为extern型,则称其为外部函数,它表示该函数能被其他源文件调用。 ?函数的默认存储类型为extern型。 § 6.3 内部函数与外部函数 外部函数的应用示例。下面的程序由3个文件组成:file1.c、file2.c、example6_6.c。 在file1.c、file2.c中分别定义了两个外部函数; 在example6_6.c中可以分别调用这两个函数。 1.file1.c /* file1.c 外部函数定义 */ extern int add(int m, int n) { return (m+n); } 2.file2.c /* file2.c 外部函数定义 */ extern int mod(int a, int b) { return(a%b); } 3.example6_6.c #include stdio.h extern int mod(int a, int b); /*外部函数

文档评论(0)

优美的文学 + 关注
实名认证
文档贡献者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档