- 1
- 0
- 约8.82千字
- 约 10页
- 2025-08-31 发布于四川
- 举报
前面各几章的学习,大家已有了编制小程序的经验。如果想编制大程序,在C语言下就得用模块化程序设计,其基本思想是将一个大的程序按功能分割成一些模块,使每一个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。C语言提供了支持模块化软件开发的功能:1函数式的程序结构。程序由一个或多个函数组成,每个函数都有各自独立的功能和界面。2允许通过使用不同的存储类别的变量,控制模块内部和外部的信息交换。33具有预编译处理功能,为程序的调试、移植提供方便,支持模块化程序设计。本章介绍这些功能及进行程序开发的基本方法。4第四章模块化程序设计
01函数02变量的存储属性03编译预处理
函数1C程序的结构2函数定义和函数声明3函数的传值调用4函数嵌套调用5函数的递归调用6
C程序结构(一)无论涉及的问题是复杂还是简单,规模是大还是小,用C语言设计程序,任务只有一种,就是编写函数,至少要编写一个主函数main(),C程序的执行就是执行相应的main()函数。即从它的main()函数的第一个花括号开始,依次执行后面的语句,直到最后的花括号为止。其它函数只有在执行了main()函数的过程中被调用时才执行。如图所示某一复杂程序执行的情况:main(){f1();f2();}f1(){…f11();….}f11(){…}f21(){…}f2(){…f21();…f22()…}f22(){….}………程序执行过程中:主函数中含有调用函数f1,f2当执行到f1()时函数f1才被调用,到达时f2()时函数f2才被调用。调用f1时,main()向f1传递一些信息,并将流程转向f1。函数f1执行完后,向main()传回一些信息,再将流程返回main()。调用f2时的情形相同。当然在在执行f1函数时,也可以调用别的函数。
C程序结构(二)高级语言中“函数”的概念和数学中“函数”的概念不完全相同。英语单词function有“函数”和“功能”两种介绍,高级语言中的函数实际上是功能的意思。当要完成某一个功能时,就用一个函数去实现它。在程序设计时首先要考虑main()函数中的算法,当main()中需要使用某一功能时,就用一个具有该功能的函数表达式表示。这时的函数,我们只知道它具有什么功能,其它先不作处理。设计完main()的算法并检验无误后,这时开始考虑它所调用的函数。如果在库函数中能找到,就可直接使用,否则再动手设计这些函数。这种设计方法称为自顶向下、逐步细化的程序设计方法。这种方法设计出来的程序在功率高,程序层次分明、结构清晰。复杂程序的层次可从以下图形中看出:main()f1()f2()f11()f21()f22()
这种软件为了方便用户大都采用菜单(menu)方式,这种形式的软件,大家都用过。用户只需按一些简单的键,就能调用该功能,就像在饭店点菜一样那么方便。高等院校事务管理系统的模块结构如下:(程序menu.c)许多大型软件系统包含了相当丰富的,可供从事某一领域工作人员选用,如一个高等学校的信息管理系统就包含了教务、科研、人事、财务,设备、图书、后勤、办公室等子系统。每一个子系统以可分为许多子子系统。010201C程序结构(三)
函数的定义与函数声明(一)函数就是在程序中设定的一个函数模块。一个函数是由变量声明部分与可执行语句组的成独立实体,用来完成一指定功能。除了系统提供的函数外,用户编制函数才是一种正确的选择。(一).函数定义:(函数类型、函数名、形参、函数体内容)函数返回值的类型说明函数名(类型名形式参数1,类型名形式参数2,…){函数首部说明部分函数体语句部分}函数类型:函数计算后的值是什么类型。函数名:用户命名的标识符,在主函数中调用的名字。形式参数:函数中处理的变量,通过它接收主函数传过来的具体值。函数体:函数计算时的具体方法和函数的表达式。由变量定义部分和语句组成。函数的返回:由函数返回调用它的函数,可由以下返回形式:return表达式;return;可没有return语句,也可有多个return语句。
函数的定义与函数声明(二)函数名(类型名形式参数1,类型名形式参数2,…)省略类型说明
您可能关注的文档
- 电脑硬件基础知识课件.pptx
- 混凝土泵车维护与保养.pptx
- 护士素质与角色.pptx
- 概率论与数理统计7.3置信区间.pptx
- 泌尿系统护理评估技能.pptx
- 海关监管:周俊明.pptx
- 环境经济大系统.pptx
- 某公司营销体系组织架构调整咨询方案.pptx
- 牛津英语一年级第二学期M1U3Period.pptx
- 理财类产品促成话术.pptx
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
最近下载
- 【2025秋新版】九上数学期末几何压轴题30道.pdf
- 2025年翔宇无人机研发及应用项目可行性研究报告.docx
- 光伏发电区域水土保持工程设计.docx
- cx3rdk硬件用户手册.pdf VIP
- HIKVISION海康威视海康威视视频监控工程宝标配支持电平检测DS-MDH003.pdf
- 2025年演出经纪人沉浸式互动演出项目风险评估专题试卷及解析.pdf VIP
- 2026年山东职业学院单招《数学》考试历年机考真题集最新附答案详解.docx VIP
- 2025年拍卖师网络拍卖电子证据的固定、保全与司法认定专题试卷及解析.pdf VIP
- 结构力学-龙驭球1-2(20220126013027).pdf VIP
- 2025年互联网营销师CDP平台与大数据技术(Hadoop_Spark)结合专题试卷及解析.pdf VIP
原创力文档

文档评论(0)