湖南农业大学:《C语言程序设计》第四章 模块化程序设计(张林峰)

第四章 模块化程序设计
第四章 模块化程序设计

函数 语言的模块化功能 函数式的程序结构:程序整体由一个或多个函数构成, 每个函数具有各自独立的功能和明显的界面。 允许使用不同存储类别的变量,控制模块内部和外部 的信息交换。 具有编译预处理功能,为程序的调试、移植提供了方 便 支持模块化程序设计
➢ C语言的模块化功能: ➢函数式的程序结构:程序整体由一个或多个函数构成, 每个函数具有各自独立的功能和明显的界面。 ➢允许使用不同存储类别的变量,控制模块内部和外部 的信息交换。 ➢具有编译预处理功能,为程序的调试、移植提供了方 便。 ➢支持模块化程序设计。 函数

c程序结构 用语言编写程序的任务:编写函数。至少要有 main函数 语言执行:语言的执行就是执行man函数, 从开始mamU函数的第一个花括号开始,到最后 个花括号结束。其它函数,均是在mam被执 行时才被调用。 >语言程序设计方法:自顶向下、逐步细化。 先集中考虑man中的算法,某些功能先用一个函数表 达式表示。 ma[设计完毕,再考虑所要用到的函数,有的直接拿 来使用,没有的就开始动手设计
一、C程序结构 ➢ 用C语言编写程序的任务:编写函数。至少要有 一个main()函数。 ➢ C语言执行: C语言的执行就是执行main()函数, 从开始main()函数的第一个花括号开始,到最后 一个花括号结束。其它函数,均是在main()被执 行时才被调 用。 ➢ C语言程序设计方法:自顶向下、逐步细化。 ➢先集中考虑main()中的算法,某些功能先用一个函数表 达式表示。 ➢main()设计完毕,再考虑所要用到的函数,有的直接拿 来使用,没有的就开始动手设计

结构化程序设计举例 高校事务管理系统 办为科财后图 公研事务勤书 管 管管 理理理理理 理理 学成排 藉绩课 管管管 理理理
结构化程序设计举例 高校事务管理系统 …… …… …… …… …… …… 办 公 室 管 理 教 务 管 理 科 研 管 理 人 事 管 理 财 务 管 理 后 勤 管 理 图 书 管 理 …… 学 藉 管 理 成 绩 管 理 排 课 管 理 ……

多级管理的实现:一般用菜单方式(例L41 高校事务管理系统 1、办公室管理 2、教务管理 3、科研管理 4、人事管理 5、财务管理 6、后勤管理 7、图书管理 8、退出系统 请您选择功能(18):
多级管理的实现:一般用菜单方式(例L4-1) 高校事务管理系统 1、办公室管理 2、教务管理 3、科研管理 4、人事管理 5、财务管理 6、后勤管理 7、图书管理 8 、退出系统 请您选择功能(1-8):

函数的定义与声明 例42 maino 函数的声明 double fumntint aint b ;”不能 Double funtint aint hl 函数的定义 /函数体7 不能有
二、函数的定义与声明 ➢ 例4-2 main() {… double fun(int a,int b); … } Double fun(int a,int b) { /*函数体*/ } 函数的声明 “ ;”不能少 函数的定义 不能有“ ;

(一)函数的定义 函数名:函数名要符合的标识的规定 >形式参数: 要在函数名后的括号内,有多个时,以逗号分隔 形式参数只有在程序运行时才临时分配存储空间,用完则释放该空 间,因此函数中的参数值的变化不返回(例L42-2),称为值传递 >函数体:是一个分程序结构,和主程序一样,一般也由变 量定义部分和语句组成。但允许只有语句甚至整个函数为 >函数的返回值: 有返回值,则要声明函数的类型,并用rem返回其值 没有返回值,则函数类型声明为0型,且若函数中的r础rm在最 后时,可省去 >函数的外部特性: 函数不允许嵌套:函数是平等的,不能在函数中再定义函数
(一)函数的定义 ➢ 函数名:函数名要符合C的标识的规定。 ➢ 形式参数: ➢ 要在函数名后的括号内,有多个时,以逗号分隔。 ➢ 形式参数只有在程序运行时才临时分配存储空间,用完则释放该空 间,因此函数中的参数值的变化不返回(例L4-2-2),称为值传递。 ➢ 函数体:是一个分程序结构,和主程序一样,一般也由变 量定义部分和语句组成。但允许只有语句甚至整个函数为 空。 ➢ 函数的返回值: ➢ 有返回值,则要声明函数的类型,并用return返回其值。 ➢ 没有返回值,则函数类型声明为void型,且若函数中的return在最 后时,可省去。 ➢ 函数的外部特性: ➢ 函数不允许嵌套:函数是平等的,不能在函数中再定义函数

(二)函数的声明 在主调函数中,要对在本函数中将要调用的函数 事先作一声明。其作用是向编译系统提供必要的 信息:函数名,函数类型,参数的个数、类型及 排列次序。并注意这些应与函数的定义部分 对应(一般只要将函数的定义复制过来,并加 即可。) 虽然,在主调函数前定义的函数,可不声明,但 般还是养成声明的习惯为好,这样可以清楚地 知道,在主调函数中到底要用到哪些函数
(二)函数的声明 ➢ 在主调函数中,要对在本函数中将要调用的函数 事先作一声明。其作用是向编译系统提供必要的 信息:函数名,函数类型,参数的个数、类型及 排列次序。并注意这些应与函数的定义部分一一 对应(一般只要将函数的定义复制过来,并加一 个“ ;”即可。) ➢ 虽然,在主调函数前定义的函数,可不声明,但 一般还是养成声明的习惯为好,这样可以清楚地 知道,在主调 函数中到底要用到哪些函数

函数的嵌套调用 >语言中允许函数中再调用函数 main()函数 们()函数 2()函数 uFl(i, t) v=f2(p, t) ④
三、函数的嵌套调用 ➢ C语言中允许函数中再调用函数。 {…. u=f1(i,t) …. } main( )函数 {…. v=f2(p,q,t) …. } f1( )函数 { …. } f2( )函数 1 2 3 4 5 6 7

四、函数的递归调用 函数的递归调用就是一个函数直接或间接地调用它自身。 >例L9求m 要求叫可以: >只先求出[們,再乘以 要求[们,只先求出2J,再乘以1。 >终于变成了求们(这个值是已知的,也叫递归终止条件) >再回推过去。 >这就是一个递归调用问题
四、函数的递归调用 ➢ 函数的递归调用就是一个函数直接或间接地调用它自身。 ➢ 例L4-9 求n! 要求n!可以: ➢ 只先求出(n-1)!,再乘以n。 ➢ 要求(n-1)!,只先求出(n-2)!,再乘以n-1。 ➢ …… ➢ 终于变成了求1!(这个值是已知的,也叫递归终止条件) ➢ 再回推过去。 ➢ 这就是一个递归调用问题
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 湖南农业大学:《C语言程序设计》第三章 C程序的流程设计(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第二章 数据描述与基本操作(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第一章 C语言程序设计入门(张林峰).ppt
- 北京航空航天大学应用数学系:《小波分析与应用》课程讲义(陈迪荣).pdf
- 《计算机组装与维护》PPT教学课件_基本CMOS设置.ppt
- 《计算机组装与维护》PPT教学课件_计算机系统故障及检测.ppt
- 《计算机组装与维护》PPT教学课件_机箱和电源.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购3.ppt
- 《计算机组装与维护》PPT教学课件_键盘和鼠标.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购1.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购2.ppt
- 《计算机组装与维护》PPT教学课件_主板基础知识.ppt
- 《计算机组装与维护》PPT教学课件_显示器基础知识.ppt
- 《计算机组装与维护》PPT教学课件_硬盘基础知识.ppt
- 《计算机组装与维护》PPT教学课件_系统的初始化.ppt
- 《计算机组装与维护》PPT教学课件_微机组装.ppt
- 《计算机组装与维护》PPT教学课件_声卡基础知识.ppt
- 《计算机组装与维护》PPT教学课件_微机组装2.ppt
- 《计算机组装与维护》PPT教学课件_显卡基础知识.ppt
- 《计算机组装与维护》PPT教学课件_计算机系统软件维护技术.ppt
- 湖南农业大学:《C语言程序设计》第五章 数组(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第六章 指针(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第七章 结构体、共用体和枚举类型(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第八章 位运算(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第九章 C文件概述(张林峰).ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第10章 Pentium系列微型计算机简介.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第1章 微型计算机概述.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第2章 计算机中的数据表示.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第3章 80X86微处理器及其体系结构.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第4章 8086指令系统.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第5章 汇编语言的基本表达及其运行.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第6章 汇编语言程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第7章 中断调用程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第8章 高级汇编技术.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第9章 汇编语言与高级语言的连接.ppt
- 《玩具制图与Auto CAD讲义》电子课件.doc
- 《计算机文化基础》课程教学资源(课程大纲).doc
- 哈尔滨工业大学:《计算机组成原理》第八章 CPU 的结构和功能.pps
- 哈尔滨工业大学:《计算机组成原理》第三章 系统总线.pps
- 哈尔滨工业大学:《计算机组成原理》第四章 存储器.pps