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

[工学]c语言第6章-4课时.ppt

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

第六章 函数——工资管理系统之模块功能的实现 任务一 学习目标 为什么要使用函数 任务二 了解函数的作用 任务三 库函数的调用 任务四 函数的定义 任务五 函数的类型和返回值 任务六 函数调用及参数传递 任务七 嵌套调用和递归调用 任务八 函数的作用域 任务九 知识扩展——变量的作用域与存储方式 任务十 精选案例 任务十一 本章要点汇总 任务十二 实 力 检 验 【案例6-20】递归经典问题:汉诺塔(tower of hanoi) 汉诺塔游戏来自印度的一个古老传说。开天辟地的神——勃拉玛(Brahma),在一个庙里留下了三根金刚石柱,第一根上面套着大小不同的64个金片,上小下大依次叠放。游戏的目标是将所有的金片搬移到第三根柱子上,搬移过程中,可利用中间的柱子作为辅助,但每次只能搬移一个金片,而且大的不能放在小的上面。庙里的众僧不倦地把它们一个个地从这根柱子搬到另一根柱子上。试编程模拟搬移过程。 函数的嵌套调用 在函数的调用过程中,主调函数调用被调函数,在被调函数的执行过程中又调用另一个函数的情况,称为函数的嵌套调用。如: int f1( ) /*定义函数f1*/ { ……} int f2( ) /*定义函数f2*/ { …… f1( ); /*f2中调用f1*/ …… } main( ) { …… f2( );/*主函数中调用f2*/ …… } 【案例6-7】编程求组合数。 函数的递归调用 C语言函数可以自己调用自己。如果函数内部有调用自身的语句,则称这个函数是“递归”调用的。 递归调用分为直接递归调用和间接递归调。 如果某函数的函数体内有调用函数本身的语句,这种递归称为直接递归;一个函数调用其他函数,而其他函数又调用了该函数,这种递归称为间接递归。 直接递归 void a( ) { …… a( ); …… } ⑵间接递归 void a( ) { …… b( ); /*函数a中调用函数b*/ …… } void b( ) { …… a( ); /*函数b中调用函数a*/ …… } 【案例6-8】用递归的方法计算n!。 作用域描述了标识符的可用范围,当某标识符超出了它的作用域,将不能被访问。按照作用范围的不同,作用域分为:局部作用域和全局作用域。 全局作用域是指变量、函数等标识符的作用范围在整个应用程序中都是可用的。在全局作用域内定义的标识符被称之为全局对象,其作用域为全局作用域,处于全局作用域中的对象能够被其他函数共享。 函数的作用域决定了函数可调用的范围。 当一个程序由多个源文件组成时,C语言根据函数能否被其他源文件中的函数调用,将函数分为内部函数和外部函数。 在一个源文件中定义的函数,只能在本文件中被调用,而不能被其他文件中的函数调用,这种函数称为内部函数。定义一个内部函数,只需在函数类型前再加一个static关键字即可,如下所示。 static 函数类型 函数名(函数参数表) {……} 关键字static译成中文就是“静态的”,所以内部函数又称静态函数。但此处static的含义不是指存储方式,而是指将函数的作用域局限于本文件。 使用内部函数的好处:不同的程序设计人员在编写函数时,不用担心自己定义的函数是否会与其他文件中的函数重名,从而避免了命名冲突。 在一个源文件中定义的函数,可以被同一程序的其他文件中的函数调用,这种函数称为外部函数。外部函数在定义时,如果没有加关键字static,或冠以关键字extern,表示此函数是外部函数,其定义格式如下。 [extern] 函数类型 函数名(函数参数表) {……} 调用外部函数时,需要对其进行以下说明。 [extern] 函数类型 函数名(参数类型表); 变量的作用域 变量的有效范围称为变量的作用域。C语言中所有的变量都有自己的作用域。按作用域范围的不同可将变量分为:局部变量和全局变量。 局部变量 局部变量是在函数内或复合语句内定义的变量,其作用域仅限于定义它的

文档评论(0)

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

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

1亿VIP精品文档

相关文档