C语言程序设计课件第7章-用函数实现模块化程序设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件第7章-用函数实现模块化程序设计.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 函数 实现 模块化 程序设计
- 资源描述:
-
1、完整版ppt17.1 函数是什么函数是什么7.2 函数的定义和调用函数的定义和调用7.3 函数的嵌套调用和递归调用函数的嵌套调用和递归调用7.4 数组作为函数参数数组作为函数参数7.5 变量的作用域和生存期变量的作用域和生存期P168完整版ppt27.1 函数是什么函数是什么如果程序的功能比较多,规模比较大,如果程序的功能比较多,规模比较大,把所有的程序代码都写在一个主函数把所有的程序代码都写在一个主函数中,就会使主函数变得庞杂、头绪不中,就会使主函数变得庞杂、头绪不清,使阅读和维护程序变得困难。清,使阅读和维护程序变得困难。P168完整版ppt3有时程序中要多次实现某一功能,就有时程序中要多
2、次实现某一功能,就需要多次重复编写实现此功能的程序需要多次重复编写实现此功能的程序代码。这使程序冗长,不精炼。代码。这使程序冗长,不精炼。7.1 函数是什么函数是什么P168完整版ppt4采用采用“组装组装”的办法简化程序设计过程的办法简化程序设计过程事先编好一批函数实现各种不同的功能事先编好一批函数实现各种不同的功能用到什么用到什么函数函数就直接装就直接装使用使用就可以就可以这就是这就是模块化的程序设计模块化的程序设计7.1 函数是什么函数是什么P168完整版ppt5函数就是功能函数就是功能(Function)每一个函数用来实现一个特定的功能每一个函数用来实现一个特定的功能函数的名字应反映其
3、代表的功能函数的名字应反映其代表的功能7.1 函数是什么函数是什么P168完整版ppt6在设计一个较大的程序时,往往把它分在设计一个较大的程序时,往往把它分为若干个程序模块,每一个模块包括一为若干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定个或多个函数,每个函数实现一个特定的功能。的功能。7.1 函数是什么函数是什么P168完整版ppt7一个程序可由一个主函数和若干个其一个程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,他函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次可以被一个
4、或多个函数调用任意多次7.1 函数是什么函数是什么P168完整版ppt87.1 函数是什么函数是什么P168mainabcfghdeie完整版ppt9除了可以使用库函数外,除了可以使用库函数外,还可以还可以编写一编写一些些本领域或本单位常用到一些专用函数,本领域或本单位常用到一些专用函数,供本领域或本单位的人员使用供本领域或本单位的人员使用。、。、在程序设计中要善于利用函数,可以减在程序设计中要善于利用函数,可以减少各人重复编写程序段的工作量,同时少各人重复编写程序段的工作量,同时可以方便地实现模块化的程序设计。可以方便地实现模块化的程序设计。7.1 函数是什么函数是什么P168完整版ppt1
5、0说明:说明:(1)一个程序由一个或多个程序模块组成一个程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对于较每一个程序模块作为一个源程序文件。对于较大的程序,一般不把所有内容全放在一个源程大的程序,一般不把所有内容全放在一个源程序文件中,而是将它们分别放在若干个源文件序文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个中,由若干个源程序文件组成一个C程序。这程序。这样便于分别编写、分别编译,提高调试效率。样便于分别编写、分别编译,提高调试效率。一个源程序文件可以为多个一个源程序文件可以为多个C程序所调用。程序所调用。完整版ppt11说明:说明:(2)一个源程
6、序文件由一个或多个函数以及其一个源程序文件由一个或多个函数以及其他有关内容组成。一个源程序文件是一个编译他有关内容组成。一个源程序文件是一个编译单位,在程序单位,在程序编译时是以源程序文件为单位进编译时是以源程序文件为单位进行编译行编译的,而不是以函数为单位进行编译的。的,而不是以函数为单位进行编译的。完整版ppt12说明:说明:(3)不论不论main函数出现在什么位置,函数出现在什么位置,总是从总是从main函数开始执行函数开始执行。如。如果果在在main函数中调函数中调用其他函数,在调用后流程返回到用其他函数,在调用后流程返回到main函数函数,在,在main函数中结束整个程序的运行。函数
7、中结束整个程序的运行。完整版ppt13说明:说明:(4)所有函数都是平行的,即在定义函数时是所有函数都是平行的,即在定义函数时是分别进行的,是分别进行的,是互相独立的互相独立的。一个函数并不从。一个函数并不从属于另一个函数,即函数属于另一个函数,即函数不能嵌套定义不能嵌套定义。函数。函数间可以互相调用,但不能调用间可以互相调用,但不能调用main函数。函数。main函数是函数是由由系统调用的。系统调用的。完整版ppt14说明:说明:(5)从用户使用的角度看,函数有两种。从用户使用的角度看,函数有两种。u库函数库函数,它是由系统提供的,用户不必自己定,它是由系统提供的,用户不必自己定义而直接使用
8、它们。应该说明,不同的义而直接使用它们。应该说明,不同的C语言语言编译系统提供的库函数的数量和功能会有一些编译系统提供的库函数的数量和功能会有一些不同,当然许多基本的函数是共同的。不同,当然许多基本的函数是共同的。u用户用户自己自己定义的函数定义的函数。它是用以解决用户专门。它是用以解决用户专门需要的函数。需要的函数。完整版ppt15说明:说明:(6)从函数的形式看,函数分两类。从函数的形式看,函数分两类。无参函数无参函数。函数没有参数,一般用来执行固。函数没有参数,一般用来执行固定的一组操作。无参函数可以带回或不带回函定的一组操作。无参函数可以带回或不带回函数值,但一般以不带回函数值的居多。
9、数值,但一般以不带回函数值的居多。有参函数有参函数。在调用函数时,要给出实参。主。在调用函数时,要给出实参。主调函数在调用被调用函数时,通过参数向被调调函数在调用被调用函数时,通过参数向被调用函数传递数据,一般情况下,执行被调用函用函数传递数据,一般情况下,执行被调用函数时会得到一个函数值,供主调函数使用。数时会得到一个函数值,供主调函数使用。完整版ppt167.2 函数的定义和调用函数的定义和调用7.2.1 为什么要定义函数为什么要定义函数7.2.2 函数定义函数定义7.2.3 函数的调用函数的调用7.2.4 对被调用函数的声明和函数原型对被调用函数的声明和函数原型P170完整版ppt17C
10、语言要求,在程序中用到的所有函数,语言要求,在程序中用到的所有函数,必须必须“先定义,后使用先定义,后使用”指定指定函数函数名字名字、函数、函数返回值类型返回值类型、函数、函数实现的实现的功能功能以及以及参数的个数与类型参数的个数与类型,将,将这些信息通知编译系统。这些信息通知编译系统。7.2.1 为什么要定义函数为什么要定义函数P170完整版ppt18指定函数的名字,以便以后按名调用指定函数的名字,以便以后按名调用指定函数类型,即函数返回值的类型指定函数类型,即函数返回值的类型指定函数参数的名字和类型,以便在调指定函数参数的名字和类型,以便在调用函数时向它们传递数据用函数时向它们传递数据指定
11、函数的功能。这是最重要的,这是指定函数的功能。这是最重要的,这是在函数体中解决的在函数体中解决的7.2.1 为什么要定义函数为什么要定义函数P170完整版ppt19如果程序中要调用如果程序中要调用库函数库函数,只需用,只需用#include指令把有关的头文件包含到指令把有关的头文件包含到本文件模块中即可。本文件模块中即可。如果想使用库函数中没有的函数,需要如果想使用库函数中没有的函数,需要程序设计者在程序中程序设计者在程序中自己定义自己定义。7.2.1 为什么要定义函数为什么要定义函数P170完整版ppt207.2.2 函数定义函数定义1.怎样定义无参函数怎样定义无参函数函数名后面圆括号中空的
12、,没有参数函数名后面圆括号中空的,没有参数定义无参函数的一般形式为定义无参函数的一般形式为:类型名类型名 函数名()函数名()函数体函数体 P171包括声明部分和包括声明部分和语句部分语句部分指定函数指定函数值的类型值的类型完整版ppt217.2.2 函数定义函数定义1.怎样定义无参函数怎样定义无参函数函数名后面圆括号中空的,没有参数函数名后面圆括号中空的,没有参数定义无参函数的一般形式为定义无参函数的一般形式为:类型名类型名 函数名()函数名()函数体函数体 P171表示不需要表示不需要带回函数值带回函数值void完整版ppt227.2.2 函数定义函数定义2.怎样定义有参函数怎样定义有参函
13、数定义有参函数的一般形式为定义有参函数的一般形式为:类型标识符类型标识符 函数名(形式参数表列)函数名(形式参数表列)函数体函数体 P171完整版ppt237.2.2 函数定义函数定义2.怎样定义有参函数怎样定义有参函数 int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);P171求求x和和y二者二者中大者中大者完整版ppt247.2.3 函数的调用函数的调用1.调用无参函数的形式调用无参函数的形式 函数名函数名()如如print_star()2.调用无参函数的形式调用无参函数的形式 函数名(实参表列)函数名(实参表列)如如max(a,
14、b)P172如果有多个如果有多个参数,用逗参数,用逗号隔开号隔开完整版ppt25例例7.2 输入两个整数,输出二者中的输入两个整数,输出二者中的大者。要求在主函数中输入两个整大者。要求在主函数中输入两个整数,用一个函数数,用一个函数max求出其中的大求出其中的大者,并在主函数中输出此值。者,并在主函数中输出此值。完整版ppt26#include int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);参数类型参数类型函数类型函数类型定义函数定义函数定义函数内定义函数内使用的变量使用的变量完整版ppt27 c=max(a,b);(main函数
15、)函数)int max(int x,int y)(max函数)函数)int z;z=xy?x:y;return(z);完整版ppt28#include void main()int max(int x,int y);int a,b,c;printf(”please input two number:”);scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max is%dn”,c);int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);形式参数形式参数实际参数实际参数完整版ppt29函数调用的函数调用的过程过程
16、:在定义函数中指定的形参,在未出现函数在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。调用时,它们并不占内存中的存储单元。在发生函数调用时,函数在发生函数调用时,函数max的形参被临的形参被临时分配内存单元。时分配内存单元。2a3bxy23实参实参形参形参完整版ppt30函数调用的函数调用的过程过程:2a3bxy23实参实参形参形参调用结束,形参单元被释放调用结束,形参单元被释放实参单元仍保留并维持原值,没有改变实参单元仍保留并维持原值,没有改变如果在执行一个被调用函数时,形参的值如果在执行一个被调用函数时,形参的值发生改变,不会改变主调函数的实参的值发生改变,不会改变
17、主调函数的实参的值完整版ppt31调用函数的调用函数的方式方式:按函数在程序中出现的位置来分,可以有按函数在程序中出现的位置来分,可以有以下以下3种函数调用方式种函数调用方式.函数语句函数语句调用没有返回值的函数,函数调用单独作调用没有返回值的函数,函数调用单独作为一个语句为一个语句 如例如例7.1中的中的“print_star();”完整版ppt32调用函数的调用函数的方式方式:按函数在程序中出现的位置来分,可以有按函数在程序中出现的位置来分,可以有以下以下3种函数调用方式种函数调用方式.函数表达式函数表达式函数出现在一个表达式中,这种表达式称函数出现在一个表达式中,这种表达式称为函数表达式
18、为函数表达式 如例如例7.2中的中的“c=max(a,b);”完整版ppt33调用函数的调用函数的方式方式:按函数在程序中出现的位置来分,可以有按函数在程序中出现的位置来分,可以有以下以下3种函数调用方式种函数调用方式.函数参数函数参数函数调用作为一个函数的实参函数调用作为一个函数的实参 如如printf(%d,max(a,b);完整版ppt347.2.4 对被调用函数的声明对被调用函数的声明和函数原型和函数原型P175在一个函数中调用另一个函数需要具备如在一个函数中调用另一个函数需要具备如下条件:下条件:(1)被调用函数必须是被调用函数必须是已经定义的函数已经定义的函数(是库(是库函数或用户
展开阅读全文