文档详情

第六章 模块的程序设计.ppt

发布:2018-10-12约9.47千字共21页下载文档
文本预览下载声明
第六章 模块化的程序设计 授课目的: 掌握函数的定义和调用方法,会独立的利用函数编写有关程序。 授课内容: 第一节 模块化结构程序的概念 第二节 函数的定义和调用 第三节 函数的嵌套和递归调用 第四节 变量的存储属性 要点、要求及作业 第一节 模块化结构程序的概念 一、模块化结构的概念 基本原则:把一个计算机系统按其功能分解成一个主模块与若干个子模块,使每个子模块尽可能只实现其中的某一个不同功能,子模块还可以再按上述方法分解。 高级语言中,模块功能可用“过程”或“函数”来完成。 二、函数的概念: ----具有一定功能的完整程序段。一个函数一般完成一个单一的功能。 C语言使用函数来实现各模块的功能,它分为两类: 1、标准函数:既库函数,是由系统提供 2、用户自定义函数:由编程人员自己定义函数    函数被定义后,可以重复使用。有利于代码重用,提高编程效率,增强程序的可靠性,便于分工合作和修改维护。 第二节 函数的定义和调用 一、概述 一个C程序可由一个主函数和若干其它函数组成。 printstar(); print_message(); printstar(); } printstar() {printf(“****************\n”); } print_message() {printf(“ How do you do!\n ”); } 运行结果为: 第二节 函数的定义和调用 说明:⑴一个源程序文件由一个或多个函数组成,编译时以源文件为单位。 ⑵一个C程序可由一个或多个源程序文件组成。对一较大程序,为提高编译效率,常把分成多个源程序文件。 ⑶C程序的执行:从主函数开始,以主函数结束,其它函数通过调用完成。 ⑷各函数在定义时是并列平行的关系,不能嵌套定义,但书写次序任意。 ⑸函数的分类 二、函数的定义 1、无参函数的定义形式 类型标识符 函数名(void) {说明部分 语句 } 2、有参函数定义的形式 类型标识符 函数名(形参表列) {说明部分 语句 } 3、空函数:函数体为空 类型说明 函数名(void) { } 例:void f(void) { } 作用:占位,等待以后扩充。 第二节 函数的定义和调用 main() {int a,b,c; scanf(“%d,%d”,a,b); c=max(a,b); printf(“max=%d”,c); } int max(x, y) int x,y; {int z; z=xy?x:y; return(z); } 三、函数的参数和值 1、形式参数和实际参数 形参:在定义时函数名后括弧中变量称为~;实参:在调用时函数名后括弧中的表达式称为~。例:如上 说明:⑴形参:只有当函数调用时,才分配临时内存单元,调用结束后,所占内存单元释放。 ⑵实参:可为常量、变量或表达式,要求其值必须确定。 ⑶在被定义的函数中,必须指定形参的类型。 第二节 函数的定义和调用 2、函数的返回值 ⑴由return语句获得,一个函数可有0个、1个或多个return语句,但一个return语句只能返回一个值. 。 如: max(int x,int y) {int z; if(xy) return(x); else return(y); } ⑵函数的类型要在定义时指定,凡不指定类型的,一律按int处理。 ⑶函数类型一般应与return中表达式的类型相同。如不同,则以函数类型为准。 max(float x,float y) {float z; z=xy?x:y; return(z); } ⑷如被调用函数中无return语句,则带回一个不确定的值。 a=printstar(); ⑸为明确不带回值,可定义为“void”类型,此时函数没有返回值。 void printstar() {……} 一般来说,一个函数最多只有一个返回值,如有多个值需要返回可以采用全局变量或指针方法加以解决. 四、函数的调用 1、一般形式 函数名(实参表列);
显示全部
相似文档