- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第六章模块化程序设计与C语言函数
第六章 模块化程序设计与C语言函数 6.1.1 模块化程序设计 1. 模块化程序设计基本思想 基本思想:将程序按功能分割成小模块。 开发方法: FTTB,逐步分解,分而治之。 特点和作用: 模块独立,功能单一,结构清晰,接口简单。 控制了程序设计的复杂性。 提高模块元件的可靠性。 缩短开发周期。 避免程序开发的重复劳动。 易于维护和功能扩充。 FBTT方法与FTTB方法 例6-2 求1+2+…+100的和。 分析:问题可分为三个部分,对应三个模块: 1) 确定求值范围 2) 计算过程 3) 输出结果 例6-3 分析九九乘法表输出功能。 分析九九表的形状(例如第一种)。 打印九行,每行分成两个部分:前导空格和九九表的口诀内容。 2. 模块化程序的基本特征 模块的IPO结构:要注意模块功能的独立性、完成功能所需的参数和提供给外界的输出信息。 模块的接口问题:唯一的通信渠道。应保证接口的单入口和单出口特征。 模块的功能问题:大小要合适;具有较强的独立性和相对简单性;内部实现方法也应按照结构化程序设计思想进行组织和设计。 6.1.2 C语言对模块化程序设计技术的支持 1. 函数式程序语言结构 6.2.1 C 语言程序的组织结构 6.2.2 函数声明与定义 从用户角度分为: 标准函数(库函数):由系统提供。 用户自定义函数:由程序员提供。 从函数形式上分为: 无参函数 有参函数 1. 函数的声明(Function Declaration) 声明的作用:告诉编译器函数类型、参数个数及类型,以便进行类型检验,保证调用的数据传递的正确性。 对被调用函数的要求: 函数已经被定义,即函数存在 对库函数,知道库的头文件.h 对自定义函数,有函数类型声明 函数声明(函数原型声明)的一般形式: 函数类型 函数名(形参类型1 形参名1,…,形参类型n 形参名n) ; 或 函数类型 函数名() ; 函数定义与函数声明不同 函数声明的位置(P133) 下列情况,可不作函数声明: 对char或int型函数(隐含声明) 函数的定义出现在主调函数之前 有些系统要求函数声明指出函数返值和形参类型,即使对void和int型函数也要进行函数说明(如Borland C++) 一个完整形式的函数声明 /*exam0604a.c::完整形式的函数声明*/ #include stdio.h int main(void) { float fA=1,fB=2,fC=3; float sum(float fA,float fB,float fC); /*声明*/ printf(sum=%f\n,sum(fA,fB,fC)); /*调用*/ return 0; } /*End of main()*/ float sum(float fA,float fB,float fC) /*定义*/ { return (fA+fB+fC); } /*End of sum()*/ 允许声明与定义的参数名字不同 #include stdio.h /*exam0604b.c*/ int main(void) { float x=1,y=2,z=3; float sum(float x,float y,float z);/*声明参数名*/ printf(sum=%f\n,sum(x+y,y,z));/*实参名*/ return 0; } /*End of main()*/ float sum(float a,float b,float c)/*定义体参数名*/ { return (a+b+c); } /*End of sum()*/ 声明时可不给参数名,但类型要一一对应 #include stdio.h /*exam0604c.c*/ int main(void) { float x=1,y=2,z=3; float sum(float,float,float ); /*声明*/ printf(sum=%f\n,sum(x,y,z)); /*实参*/ return 0; } /*End of main()*/ float sum(float a,float b,float c) { return (a+b+c); } /*End of sum()*/ /*exam0604d.c*/ #include stdio.h int main(void) { float x=1,y=2,z=3; float sum(int a,float b,float c); /*声明*/ printf(sum=%f\n,sum(x,y,z)); /*调用*/ return 0; } /*End of main()*/ float
您可能关注的文档
最近下载
- 苏教版(2024版)七年级上册生物期末复习知识点清单.docx VIP
- 修剪指甲教学课件.pptx VIP
- NB∕T 20006.4-2021 压水堆核电厂用合金钢 第4部分:反应堆压力容器接管嘴用锰-镍-钼钢锻件.pdf
- 《智慧仓储管理》课程标准.doc VIP
- 中国骨质疏松症及骨质疏松性骨折非药物干预防治指南(2025年版)PPT课件解读(2).docx VIP
- 13《少年中国说(节选)》 公开课一等奖创新教学设计.docx VIP
- 【行业研究报告】中国金融科技行业研究报告-2022年4月.pdf VIP
- 品种混杂退化原因PPT.ppt VIP
- 储罐内壁升降作业平台施工方案.doc VIP
- 【竞品分析文档】中国元宇宙产业竞品分析报告-2022年4月.pdf VIP
文档评论(0)