第三章模块化程序设计ppt课件.ppt
《第三章模块化程序设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第三章模块化程序设计ppt课件.ppt(24页珍藏版)》请在三一办公上搜索。
1、济南大学信息学院,C语言程序设计,第1页,第三章 模块化程序设计,3.1 模块化程序设计思想3.2 函数定义3.3 函数调用3.4 函数的原型与声明3.5 函数的嵌套与递归3.6 库函数3.7 变量的作用域与存储类型3.8 指针与函数,济南大学信息学院,C语言程序设计,第2页,#include int max(int x, int y) int z; if (xy) z=x; else z=y; return(z);void main( ) int a,b,c; scanf(%d%d, ,一个完整的函数,一个完整的函数,函数体,教材第3页例1.3,注意:程序永远从main函数开始。max(a,
2、b)是什么?自定义函数max(),济南大学信息学院,C语言程序设计,第3页,结构化程序设计的特点:自顶向下、逐步细化、模块化C语言程序的基本单位是函数有且至少有一个函数main( ),函数模块化程序设计的体现,济南大学信息学院,C语言程序设计,第4页,3.1 模块化程序设计的思想,什么是模块化程序设计?模块化程序设计就是将一个复杂的大问题,分解为一个个独立的简单的小问题(即模块),分别解决简单的小问题,进而解决复杂的大问题。在C语言中,这些独立的简单的模块就是函数。,功能分解是一个自顶向下、逐步求精的过程。,必须有且只能有一个名为main的主函数C程序的执行总是从main函数开始,在main中
3、结束函数不能嵌套定义,可以嵌套调用(即使用)。,济南大学信息学院,C语言程序设计,第5页,阶乘模块fac(n)的实现: f = 1;for ( i=1; i= n ; i+)f = f * i;,例3-1:计算,m,k,只需实现模块fac()即可,济南大学信息学院,C语言程序设计,第6页,#include /普通设计void main()int i, k, m, n;float x, y, z;scanf(%d%d%d, ,x = fac(k);y = fac(m);z = fac(n);,float fac(int n)int i;float f = 1;for (i=1; i=n; i+)
4、f = f * i;return f;,模块即函数,济南大学信息学院,C语言程序设计,第7页,3.2 函数定义,在C语言中,函数分为以下两种:(1) 库函数是由系统提供的,用户不用定义,只需用#include包含其头文件,即可直接使用。如:printf( )、scanf( )、sqrt( )等。(2) 自定义函数:这种函数是根据具体需求按自己的意愿编写的,以完成相应的功能。,本章学习的内容,济南大学信息学院,C语言程序设计,第8页,void main( )int k, m, n;float x, y, z;scanf(%d%d%d, ,函数定义格式: 函数返回值类型 函数名(形参表) 函数体;
5、 ,#include float fac(int n)int i;float f = 1;for (i=1; i=n; i+)f = f * i;return f;,函数调用格式: 函数名(实参表);,例如:float fac(int n) ,济南大学信息学院,C语言程序设计,第9页,函数名:命名规则同变量相同;同一个文件中函数名不能重复!参数(形参)列表:需说明参数的个数和类型,多个参数间用逗号间隔,也可以无参数,但括号不能省。,函数定义的说明,书写格式 : 每一个形参都要写上数据类型和参数名;参数之间以逗号分隔,无参数时函数值返回值一般写上 void 或什么也不写 。函数名后的括号一定要有
6、。,float average(float a1, float a2, float a3) ,形参不能写成:float a1, a2, a3 ,济南大学信息学院,C语言程序设计,第10页,函数定义的说明,函数体:由左右花括号括起来的部分。包括说明部分和语句部分,是实现函数的核心部分说明部分:定义函数内除形参以外的其它变量等;语句部分:实现函数功能的执行语句;,函数返回值类型 函数名(形参表) 变量说明部分; 语句部分;,返回值类型:当函数有返回值时,在函数名前指定函数返回值的类型 若省略类型标识符,默认为int 若函数无返回值,函数定义时应写上 void,济南大学信息学院,C语言程序设计,第1
7、1页,语言不允许在一个函数内定义另一个函数,即不能嵌套定义。所有函数在书写时都是平行的,通常写在main上方。,应为平行关系:float area( float a,float b ) main() ,注意,济南大学信息学院,C语言程序设计,第12页,void main( )int k, m, n;float x, y, z;scanf(%d%d%d, ,#include float fac(int n)int i;float f = 1;for (i=1; i=n; i+)f = f * i;return f;,主函数,函数调用,函数定义,通常写在main函数上方,济南大学信息学院,C语言程
8、序设计,第13页,例:,、编写一个函数,打印一行信息“How do you do!”,printf(How do you do!n);,_ print( _ ),void,void main( ),print( );,#include ,经验1:数据已知或固定则不需要作为参数传递;值事先不确定则需要参数传递!,经验2:不要求计算结果或没有计算出一个数值则不需要返回值。,EG302.C,济南大学信息学院,C语言程序设计,第14页,3.3 函数调用(函数使用),3.3.1 函数调用的形式,1、形式:,函数名(实参表列);,2、说明、实参表列由0到多个实参名组成,实参之间用逗号分隔、实参与形参的个数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 模块化 程序设计 ppt 课件
链接地址:https://www.31ppt.com/p-1626406.html