c语言程序的设计第07章节用函数实现模块化程序的设计.ppt

c语言程序的设计第07章节用函数实现模块化程序的设计.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序的设计第07章节用函数实现模块化程序的设计

例7.12 分别求出1~5的阶乘值,并输出。(p196) #include stdio.h int fac(int n) { static int f=1 ; /*f为静态局部变量*/ f=f*n; return(f); } void main() { int i; for(i=1;i=5;i++) printf(“%d!=%d\n”,i,fac(i)); } 注: 静态局部变量“f”的有效范围只限于函数fac,但是生 存期是整个程序,即在fac函数外,它的值仍然存在。再次调用函数时,继续在前一个值上累乘。 若静态局部变量在定义时未初始化,系统自动赋值为0。 3 registc—寄存器变量 一般变量都存储在内存中,而寄存器变量存储在CPU的寄存器中,从而提高存取速度。 现代的计算机,系统可以自动完成此功能。 extern—外部变量的作用域 扩展外部变量的作用域。 习 题 P208: 1、2、3、4、6、7、8、10 [Return] [Return] [Return] [Return] [Return] [Return] [Return] [Return] [Return] [Return] [Return] [Return] 第7章 用函数实现模块化程序设计 7.1 函数是什么 7.2 函数的定义和调用 7.3 函数的嵌套调用和递归调用 7.4 数组作为函数参数 7.5 变量的作用域和生存期 7.1 函数是什么 1 函数就是功能 每一个函数都用来实现一个特定的功能,即程序模块(功能模块)。较大的程序都要化分成若干功能。 函数是C程序的基本单位 一个C程序是由一个或多个函数组成的,其中一定包含一个主函数(main函数),除了main函数外,还可以有若干个一般的函数。即模块化程序设计的思想。如: 例7.1(p169)包含三个函数; 例1.3(p4)包含两个函数; 函数的分类 从用户使用角度分:库函数和用户自定义函数。 从函数的形式分:无参函数和有参函数。 4 函数的定义及调用 函数的定义是分别进行的,是相互独立。一个函数并不从属于另一个函数,即函数的定义是平行的,不能嵌套。 一般函数只有被调用才能执行,函数间可以相互调用,但不能调用main函数,main函数是系统调用的。函数调用可以嵌套,还可以直接递归或间接递归。 7.2 函数的定义和调用 7.2.1 为什么要定义函数 C程序中的所有函数必须“先定义,后使用”。定义函 数可以将相关信息通知给编译系统。 定义函数包括以下内容: 1 指定函数名,以便以后按名调用。 2 指定函数的类型,即函数值的类型。 3 给出函数的形参表,其中包括形参的名字及类型。 (注:以上3部分组成函数的首部) 4 指定函数应完成的功能,即变量声明和相应操作的 实现语句。 (注:第4部分为函数体) 注意: 函数由函数首部及函数体组成。 7.2.2 定义函数 定义函数的一般形式: 类型名 函数名(形参表) { 函数体 } 注:1 当无形参表时,为无参函数。 2 形参表中包含形参的类型和形参名(用“,”分隔) 例:int max(int x,int y) {int z; z=(xy)?x:y; return(z); /*可简化为return z; */ } 注:return语句的作用是将 z 的值作为函数值返回的主调函数中,即函数返回值。函数的类型即返回值的类型。 7.2.3 函数的调用 定义函数的目的是为了使用它,通过调用来完成。 1 调用的形式:函数名(实参表) 注意: (1)当无实参表时,为无参函数的调用。 (2)实参与形参可以同名,但占用内存单元不同。 例7.1:利用函数,求出2个数中大的。

您可能关注的文档

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档