网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计教程(第5章 函数).ppt

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

C语言程序设计 上一章内容回顾 循环结构的两个要素? while语句如何组合这两个关键要素? do while语句如何组合这两个关键要素? for结构中的三个表达式运算方式 break语句的作用 continue语句的作用 什么叫循环的嵌套 穷举算法 迭代算法 第5章 函数 本章需要掌握的知识点: 函数定义 函数说明 函数调用 形参和实参的关系 变量的存储类别 内容安排 5.1 问题的提出 5.2 函数基础 5.3 函数的定义 5.4 函数调用 5.5 参数传递 5.6 函数说明 5.7 变量的存储类别 *5.8 递归调用 5.1 问题的提出 C语言程序是由什么构成的? 函数 什么是函数? 能完成特定功能的功能块; 一般有输入参数和返回值; 一次定义,可以调用多次。 一个C语言程序为什么需要不同的函数? 一个函数过大难于编写和维护; 一个函数的程序不利于协作; 代码和功能共享的需要。 5.2 函数基础 函数的应用涉及到3个环节: (1)函数定义 (2)函数声明(说明) (3)函数调用 5.3 函数的定义 C函数的定义由函数头与函数体两部分组成,形式如下: return语句注意事项 在函数体中遇到return,函数结束,同时将return 后面所带的值作为函数值返回。 return(表达式); 和return 表达式;都是正确的。 在函数定义时,允许出现多个return语句,但每次函数执行时必定只有一条return语句被执行。 在定义函数时指定的函数类型一般应和return语句中表达式的类型一致。 1. 函数调用的一般形式 3. 函数调用的方式 4. 函数参数和函数的值 6. 函数调用举例分析(见下页) 实参到形参是单向值传递 例3 函数间的参数传递 六 函数的嵌套调用 5.6 函数说明 什么是函数说明? 向编译系统声明将要被调用函数的接口信息。 在什么情况下需要函数说明? 函数的定义出现在被调用之后或者在其他文件中。 函数说明的形式? 函数说明 5.7 变量的存储类别 作用域(可用域)与生存期 局部变量与全局变量 自动变量与静态变量 作用域(可用域)与生存期 C语言中定义的变量都有一个起作用的范围,称为变量的作用域。 程序运行时,变量被创建和被删除的时间段,称为变量的生存期。 局部变量和全局变量 在一个函数内部定义的变量是内部变量,它只在本函数内部范围内有效。也就是说只有在本函数内才能使用它们。这些变量称为“局部变量”。 在函数之外定义的变量称为外部变量,也称为全局变量,在文件内的所有函数都能使用它。它的有效范围为从定义变量的位置开始到文件的结束。 局部变量的注意事项 不同函数中可以使用相同名字的变量,它们代表不同的数据对象,互不干扰。 形式参数也是局部变量 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效,这种复合语句也可称为“分程序”或“程序块”。 全局变量的注意事项 建议只有在必要时才使用全局变量。 当局部变量与全局变量同名时,以局部变量优先。 自动变量与静态变量 用auto说明的变量是动态变量,auto可以省略。动态变量在调用函数时被创建,函数调用结束后删除。 用static说明的变量是静态变量,程序一启动就创建,程序结束后才删除。 练习 int d; int f(int c) { static int a; int b; …… …… } 请问a、b、c、d的作用域和生存期? *5.8 递归调用 在一个函数的定义中出现直接或间接地调用 该函数本身,称为函数的递归调用。 关键问题 构造递归表达式。将问题规模缩小,或者将规模放大。 确定递归结束条件。否则递归无法结束。 例 用递归方法求n! 小结 函数定义的形式? 函数说明的作用?在什么情况下需使用到函数说明? 函数的调用形式? 函数调用时实参如何传递给形参? 实参可以是常量吗? 变量的作用域和生存期? 全局变量和局部变量? 自动变量和静态变量? 什么问题可以用递归解决? 课堂作业 P140 第6题 课外练习 P.140 5 - 8 5-9 5-11 上机实验五 《上机指导》实验五 函数 基础部分:课堂作业 提高部分: 教材P140 5 - 8 5-9 5-11 根据n!的运算规律可以写出以下递归公式: (n=0,1) (n1) 定义函数double fac(int n)来求n!的值,

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档