- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课件ch05解读
第5章 函数 思考 假如系统提供的函数printf()由10行代码替换,那么你编过的程序会成什么样子? 实际上一个printf()有上千行代码 main函数中能放多少行代码? 如果所有代码都在main函数中,怎么团队合作? 如果代码都在一个文件中,怎么团队合作? 打印字符方阵 主要学习内容 函数实现意义 函数实现意义 分而治之( Divide and Conquer,Wirth, 1971 ) 函数把较大的任务分解成若干个较小的任务,并提炼出公用任务 信息隐藏(Information Hiding, Parnas, 1972) 设计得当的函数可以把具体操作细节对程序中不需要知道它们的那些部分隐藏掉,从而使整个程序结构清楚 使用函数时,不用知道这个函数内部是如何运作的,只按照我们的需要和它的参数形式调用它即可 复用 程序员可以在其他人定义的函数的基础上构造程序,而不需要从头做起 5.1 函数概述 源于模块化程序设计 基本思想: 将一个大的程序按功能分割成一些小模块, 特点: 各模块相对独立、功能单一、结构清晰、接口简单 控制了程序设计的复杂性 提高元件的可靠性 缩短开发周期 避免程序开发的重复劳动 易于维护和功能扩充 开发方法: 自上向下,逐步分解,分而治之 5.1 函数概述 模块化程序设计—函数设计 C函数作为一个模块一般应依据下面两个原则: 界面清晰。 函数的处理子任务明确,函数之间数据传递越少越好。 大小适中。 若函数太大,处理任务复杂,导致结构复杂,程序可读性较差;反之,若函数太小,则程序调用关系复杂,这样会降低程序的效率。 程序基本结构 函数的分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数 从函数形式 无参函数 有参函数 函数的分类 从调用关系 主调函数 被调函数 函数生来都是平等的,互相独立的,没有高低贵贱和从属之分 main()稍微特殊一点点 C程序的执行从main函数开始 调用其他函数后流程回到main函数 在main函数中结束整个程序运行 图5.1 模块化软件结构的示意图 5.2 函数的定义及调用 函数要先定义后使用 函数定义的一般格式为: [存储类型] 数据类型 函数名([形式参数表]) { 声明语句 执行语句 } 通常把函数名和形参的说明部分称为“函数头”,用花括号括起来的部分称为“函数体”。 函数构成 【例5.1】定义一个无参函数用来输出信息。 【例5.2】编写一个有参函数,求长方形的面积。 5.2 函数的定义及调用 问题提出 编程实现读取3个实数,计算两两之间的平均值,每次计算一对平均值。 样式输入 Enter three numbers:3.5 9.6 10.2↙ 样式输出 Average of 3.5 and 9.6 is: 6.55 Average of 9.6 and 10.2 is: 9.9 Average of 3.5 and 10.2 is: 6.85 软件开发 问题分析 数据需求 double num1,num2,num3 /*三个实数*/ double aver /*平均值*/ 相关公式 平均值=(数1+数2)/2 算法设计 输入三个数 计算两两之间的平均值 定义函数计算两个整数的平均值 输出三对数平均值 8.1 函数的定义和调用 函数定义:计算平均值 double average(double a,double b) { double aver; aver = (a+b)/2; return (aver); } 为了调用函数,需要写出函数名及跟随其后的实际参数列表。实参用来给函数提供信息。 average(3.5,9.6) 函数调用可以放在任意需要使用其返回值的地方。 printf(“Average: %f\n”,average(3.5,9.6)); 函数调用流程 5.2 函数的定义及调用 不是每个函数都会返回一个值。为了指示出不带返回值的函数,需要指名这类函数的返回类型是void。 函数定义: void print_count(int n) { printf(“T minus %d and counting”,n); } 函数调用:print_count(10); 函数流程: 5.2 函数的定义及调用 一些函数根本没有形式参数。为了指示出不带形式参数的函数,需要指名这类函数名后的圆括号内为void。 void show_ErrMsg(void) { printf(“The result is invalid!”); } 如何调用无参函数? 写出函数名后面加上一对圆括号即可。 show_ErrMsg(); 程序3显示错误提示信息 /*Prints a error
您可能关注的文档
最近下载
- Office办公软件应用案例教程--电子教案.docx VIP
- 部编版语文六年级上册第一单元教学设计含习作园地一.pdf VIP
- 《闪亮的坐标—劳模王进喜》课件 2024-2025学年高教版(2023)中职语文职业模块_47498966.pptx VIP
- 上海正夕CL2800余氯分析仪使用说明书.pdf VIP
- 牛油果种植管理技术.pdf VIP
- AI驱动光接入网技术白皮书(2025版).docx
- JT∕T 200-2020 汽车客运站级别划分和建设要求(可复制版).pdf
- 完整版铁路工程实施性施工组织设计方案22.docx
- 飞行_载重平衡管理手册.pdf
- 第4章 PyTorch深度学习框架.pptx VIP
文档评论(0)