- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计PPT教学课件-第七章 用函数实现模块化程序设计汇
第七章 用函数实现模块化程序设计 交实验报告140页3题 格式:按照《上机指导书》171页附录D格式书写 采用统一的实验报告纸 算法是解决具体问题的方案 基本要求:根据给出的算法编写程序 实际的软件开发 实际问题往往由多个基本问题构成。 要求软件开发人员首先分析问题,将问题分解为基本问题。 其次,逐个解决每个基本问题。 程序与问题的关系 对软件开发人员的要求 分析并分解问题(高级要求)。 设计解决基本问题的函数(基本要求)。 例 iA 和 iB 为两个整数,iA 是基数,iB 是指数. 如何计算 问题 如果要分别计算100对整数的次幂,需要多少for? 解决方案 我们制造一个零件(函数),它负责计算次幂 当需要计算次幂时,告诉零件基数和指数,零件返回结果。 函数就象提供服务的人。 第一个角度: 程序就是机器。 函数就是零件。 程序由函数构成。 第二个角度: 函数可以为其他函数提供服务,就象服务人员。 1. 什么是函数? 函数就是可以完成某项基本任务的一组语句。 函数名是唯一的。 函数可以被其他的函数使用,称为函数的调用。 参数 主调用函数给被调用函数一些数据,即参数。 被调用函数根据参数值完成相应的工作。 返回值 被调用函数完成工作后,可能会返回某些数据作为计算结果。 函数的要素 函数名 参数 返回值 函数体(语句) 函数的分类 7.2 怎样定义函数 四、 形式参数和实际参数 小结 int Power ( int iBase, int iExponent ) 返回类型: int 函数名: Power 形式参数: iBase,iExponent 形式参数的数值由实际参数决定。 注意: int Power ( int iBase, int iExponent ) 谁是被定义的函数? 谁是参数? 第一个int的作用是什么? 后两个int的作用是什么? 函数的使用者应该明确指明什么,才能使用函数? 7.3 调用函数 调用函数就是使用函数。 调用函数之前,必须首先声明函数。 声明函数就是声明:函数名、函数返回值的类型和参数的类型。 例: int Power(int, int); 在程序编译阶段,对调用函数的合法性进行全面检查。如没有函数声明,编译到包含函数调用的语句时(如xx(a,b)),编译系统不知道xx是函数名,也无法判断实参(a,b)的类型和个数是否正确,无法进行正确性的检查。只有在运行时才会发现实参与形参的类型或个数不一致,出现运行错误。 7.4、对被调用函数的声明和函数原型 复习 函数的要素: 名字、返回值、参数和代码 定义函数: 编写代码 声明函数: 声明名字、参数类型和返回值类型 调用函数: 给出名字和实际参数,如果有返回值则保存。 执行细节 --- 步骤 程序将从主函数开始执行 当发生函数调用时,主调用函数暂停 实际函数的值将被复制给形式参数(不需要任何语句,程序自动做该项工作). 被调用函数执行 遇到返回语句时,被调用函数将结果返回给主调用函数 主调用函数恢复执行 执行细节---存储分配 被调用函数执行前,系统为其变量分配内存空间(包括形式参数)。 实际参数的值被复制给形式参数 (值传递). 当被调用函数结束执行后,内存空间将被释放,下次调用时重新分配。 例: 你可以判断出下面程序的结果吗? 程序的执行过程是怎样的? void Swap(int iA, int iB) { int iTemp; iTemp=iA; iA=iB; iB=iTemp; } main() { int iFirst=13, iSecond=27; Swap(iFirst, iSecond); printf(\niA is %d, iFirst); printf(\niB is %d, iSecond); } main() { int iFirst=13; int iSecond=27; Swap(iFirst, iSecond); printf(\niFirst is %d, iFirst); printf(\niSecond is %d, iSecond); } main() { int iFirst=13; int iSecond=27; Swap(iFirst, iSecond); printf(\niFirst is %d, iFirst); printf(\niSecond is %d, iSecond); } void Swap(int iA, int iB) { int iTemp; iTemp=iA; iA=iB; iB=iTemp; } mai
您可能关注的文档
最近下载
- 江苏开放大学行政伦理学综合大作业.doc
- 政治选择性必修2一民事权利与义务.docx
- 启迪幼儿园防汛安全演练方案.doc VIP
- 学校安全工作台账(最完整版).doc VIP
- 第11课 整理信息资源 教案 义务教育人教版信息科技三年级全一册.pdf
- 4.3.2等比数列的前n项和公式(教案)-高中数学人教A版(2019)选择性必修第二册.docx
- 八上必读名著《昆虫记》《红星照耀中国》复习资料.doc VIP
- CQC1143-2019电力储能系统用电池连接电缆认证技术规范.pdf VIP
- 铁路机车车辆驾驶人员(J6类)考前通关必练题及答案.doc VIP
- 幼儿园小班科学活动《小动物找尾巴》课件.pptx
文档评论(0)