资源描述:
《第四章函数模块化编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章模块化函数编程(1)本章内容4.1模块化程序设计(ModelDesigning)4.2函数定义和声明4.3函数调用过程4.4函数的嵌套调用和递归函数4.7变量的作用域(Scope)与生存期(Lifetime)4.8编译预处理(Pre-process)24.1模块化程序设计(modularprogramming)3主控模块二级模块三级模块【学生项目案例4-1】高等院校信息管理系统中“学生信息管理系统”的模块化设计与划分。4主控模块模块1_1模块1_n模块2_1模块2_n模块n_1模块n_n模块1模块2模块n“分而治之”--自顶向下(Top-
2、downdesign)、逐步细化的模块化程序设计方法1.模块化程序设计思想5把一个较大的软件工程项目分解成若干个简单、易于实现的子系统(也称模块),每个子系统(模块)实现单一完整的功能。优点:每个模块单独编写和测试,项目开发工作同时展开,节省时间。1.模块化程序设计思想62.模块设计原则(PrincipleofModuleDesigning)(1)模块独立性(ModuleIndependency)模块实现相对独立的特定子功能。模块之间关系简单。模块内数据的局部化。(2)模块大小适中(3)模块分解层次清楚7【学生项目案例4-1】“学生信息管理系统
3、”项目模块化设计与划分。3.项目案例8学生信息管理系统待开发课程信息输出课程信息录入学生成绩录入学生成绩修改学生成绩输出学生成绩查询学生成绩插入学生成绩删除学生成绩统计待开发用户信息录入用户信息输出用户信息添加用户信息删除用户信息查询用户信息修正系统管理报表管理班级管理学生成绩管理课程设置学籍管理用户信息表成绩信息统计表课程信息表二级模块主模块三级模块9文本编辑器文件编辑插入格式工具复制查找粘贴删除替换排序新建保存打开关闭打印退出小写变大写大写变小写段落字符分类统计字数统计文件加密文件解密【文本项目案例4-1】“文本编辑器”项目模块划分。104
4、.2函数定义与声明(FunctionDefinition&Declaration)11将程序中反复使用、完成特定任务的程序段定义为函数;优点:实现代码复用,提高编程效率。1.函数的概念12【例4-1】编程实现求最大值。#includevoidmain(void){intx,y,z;printf("Pleaseinputxandy:");scanf("%d%d",&x,&y);if(x>y)z=x;elsez=y;printf("最大值是%d",z);}标准库函数13VC++6.0中标准c常用的几个头文件。stdio.hma
5、th.hString.h使用某库函数时,要在程序中嵌入该函数对应的头文件。用#include命令包含头文件,头文件的扩展名是“.h”。14【例4-1】设计自定义函数实现求最大值。#includevoidmain(void){intx,y,z;printf("Pleaseinputxandy:");scanf("%d%d",&x,&y);if(x>y)z=x;elsez=y;printf("最大值是%d",z);}z=max(x,y);函数必须先定义才能使用。intmax(inta,intb){intc;if(a>b)c=a
6、;elsec=b;returnc;}从定义的角度,函数分为:标准库函数和自定义函数15现代格式的函数定义形式:函数值类型名函数名(形式参数类型及参数说明){数据说明部分语句}2.函数定义形式intmax(inta,intb){intc;if(a>b)c=a;elsec=b;returnc;}函数说明或函数首部函数体16函数类型说明函数名(形式参数列表)形式参数说明{数据说明部分语句}传统格式的函数定义形式:2.函数定义形式intmax(a,b)inta,b;{intc;if(a>b)c=a;elsec=b;returnc;}intmax(int
7、a,intb){intc;if(a>b)c=a;elsec=b;returnc;}17intmax(inta,intb){intc;if(a>b)c=a;elsec=b;intmin(ints,intt){……}}intmax(x,y){intx,y;……}intmax(a,b)inta,b,c;{if(a>b)c=a;elsec=b;}2.函数定义形式intmax(intx,y){……}18无参函数函数定义时无参数有参函数函数定义时定义了一个或一个以上的参数fabs(doublex)pow(doublex,doubley)getcha
8、r()x=getchar();从函数的形式来看,C语言的函数可以分为两类:有参函数和无参函数3.函数的结构19从函数调用的角度,函数分为:有返回值函数