教学课件PPT模块化程序设计.ppt

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

任务五 模块化程序设计 教学目的: 1、理解C语言的模块化设计的思想 2、掌握函数的定义和调用 工作任务: 1、无返回值函数的调用 2、有返回值函数的调用 3、数组和指针作为函数参数的应用 4、函数的嵌套和递归调用 重点和难点 重点: (1)函数的定义和函数调用 (2)函数的参数传递 难点: (1)函数的参数传递 (2)递归调用 (3)变量的作用域和存储特性 课时:14--17周 讲授方式:任务驱动法,提问法,实例解析法、实验验证法 教学内容: 1、C语言的程序结构 2、函数的定义和调用 3、函数的参数及其传递 4、函数变量作用范围 5、指针和数组作为函数参数 6、函数的嵌套 一、C语言的程序结构 1、模块化程序设计思路 基本思想:将一个大的程序按功能分割成一些小模块。 特点: 各模块相对独立、功能单一、结构清晰、接口简单 控制了程序设计的复杂性 提高元件的可靠性 缩短开发周期 避免程序开发的重复劳动 易于维护和功能扩充 2、函数分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数 从函数形式 无参函数 有参函数 二、函数的定义和调用 1、无返回值函数的定义和调用 例5-1:编写一个程序,输入姓名,显示欢迎信息。 定义形式 void 函数名(形参列表) //函数说明 { //函数体 变量声明; 执行语句; } 函数的调用 (1)函数的声明。 形式为: void 函数名(形参列表) ; (2)函数的调用。 形式为:函数名(实参列表); 1、有返回值函数的定义和调用 例5-2:计算两个整数绝对值的阶乘之差 定义形式 数据类型 函数名(形参列表) //函数说明 { //函数体 变量声明; 执行语句; return语句; } 返回语句 形式:return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数 说明: 函数中可有多个return语句 若无return语句,遇}时,自动返回调用函数 若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换 函数的调用 (1)函数的声明。 形式为: 类型名 函数名(形参列表) ; (2)函数的调用。 一般形式为: 变量=函数名(实参列表); 或者 函数名(实参列表); 例:计算并输出三个电阻的串联值和并联值,分别由函数series()和parallel()实现。主函数main()负责接收用户输入的三个电阻的值,并且调用上述两个函数。 三、函数的参数及其传递 形参与实参 形式参数:定义函数时函数名后面括号中的变量名 实际参数:调用函数时函数名后面括号中的表达式 参数传递方式 值传递方式 方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值 特点: 形参与实参占用不同的内存单元 单向传递 地址传递 方式:函数调用时,将数据的存储地址作为参数传递给形参 特点: 形参与实参占用同样的存储单元 “双向”传递 实参和形参必须是地址常量或变量 2、全局变量---外部变量 定义:在函数外定义,可为本文件所有函数共用 有效范围:从定义变量的位置开始到本源文件结束。 注意: (1)外部变量的作用域:从定义点到本文件结束。为方便使用,建议将外部变量的定义放在文件开头。 (2)在同一源文件中,允许外部变量和内部变量同名。在内部变量的作用域内,外部变量不起作用。 (3)外部变量可实现函数之间的数据共享,但又使这些函数依赖这些外部变量,因而使得这些函数的独立性降低。从模块化程序设计观点来看,这是不利的。 因此不是非用不可时,不要使用外部变量。 五、指针和数组作为函数参数 六、函数的嵌套和递归调用 在该案例中,主函数main()调用求和函数sum( ),sum( )又调用求阶乘函数factor( )。 其调用关系图如下: 递归调用 【例5-7】用递归方法计算n!(1! = 1,n! = (n-1)! * n (n≥2)) 算法分析: (1) 根据计算n!的递归定义可知,为了计

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档