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、第7章 函 数 7.1 模块化程序设计的概念 7.2 库函数 7.3 函数的定义和调用 7.4 函数的返回值及其类型 7.5 函数调用时参数间的传递 7.6 函数的嵌套调用 7.7 函数的递归调用 7.8 局部变量和全局变量 7.9 静态存储变量和动态存储变量 7.10 内部函数和外部函数 7.11 程序举例 7.1 模块化程序设计的概念 模块化程序设计,是将一个大型程序按照其功能分解成若干个相对独立的功能模块,然后再分别进行设计,最后把这些功能模块按照层次关系进行组装。基本思想是“自顶向下、逐步求精”。C语言程序是一个函数式的程序结构,即C语言程序的全部功能都是由函数实现的,而每个函数对应一
2、个独立的模块,通过函数间调用来实现程序的总体功能。如图7.1所示,是一个程序中函数调用示意图。在C语言中,函数分为主函数、库函数、用户自定义函数三种。程序的执行由主函数开始,然后调用其它函数,最终返回主函数结束。main函数函数 a函数函数 b函数函数 c函数函数 d函数函数 e函数函数图7.1 函数调用示意图 7.2 库函数 C语言提供了丰富的标准函数,即库函数。7.2.1 C语言常用库函数语言常用库函数 1)数学函数数学函数 调用数学库函数时,要求程序在调用数学库函数前应包含下面的头文件:#include ma 2)字符函数和字符串函数字符函数和字符串函数 调用字符函数时,要求程序在调用字
3、符函数前应包含下面的头文件:#include ctype.h 调用字符串函数时,要求在源文件中应包含下面的头文件:#include string.h 3)输入输出函数输入输出函数 调用输入输出函数时,要求在源文件中应包含下面的头文件:#include stdio.h 4)动态分配函数和随机函数动态分配函数和随机函数 调用动态分配函数和随机函数时,要求在源文件中应包含下面的头文件:#include stdlib.h7.2.2 标准库函数的调用标准库函数的调用 前面讲到,调用C语言标准库函数时必须在源程序中用include命令。include命令的格式是:#include 或#include 头文
4、件名头文件名7.3 函数的定义和调用 由用户编写的函数称为自定义函数。7.3.1 函数的定义函数的定义 函数定义的一般格式如下:类型说明符类型说明符 函数名函数名(类型名类型名 形式参数形式参数1,类型名类型名 形式参数形式参数2,)/*函数的首部函数的首部 */说明部分说明部分 /*函数体函数体 */语句部分语句部分 7.3.2 函数的调用函数的调用 1.函数调用的一般形式函数调用的一般形式 函数调用的一般形式为:函数名函数名(实参表实参表);如果是调用无参函数,则实参表可以没有,但括号不能省略。如果实参表列包含多个实参,则各实参间用逗号隔开。实参与形参的个数应相等,类型应一致。实参与形参按
5、顺序对应,一一传递数据。2.函数调用的方式函数调用的方式 按函数在程序中出现的位置来分,有3种函数调用方式。1)函数语句函数语句 函数语句的调用,是指把被调函数作为一个独立的语句直接出现在主调函数中。2)函数表达式函数表达式 被调函数出现在主调函数中的表达式中,这种表达式称为函数表达式。在被调函数中,必须有一个函数返回值,返回主调函数以参加表达式的运算。3)函数参数函数参数 函数参数的调用,是指被调函数作为另一个函数的参数时的调用,而另一个函数则是被调函数的主调函数。嵌套调用,如图7.2所示。main函数函数 printf函数函数 max函数函数图7.2 函数嵌套调用 3.调用函数时的注意事项
6、调用函数时的注意事项 调用函数时,应注意以下几点:(1)被调函数必须是已存在的函数,可以是自定义函数,也可以是库函数。(2)在主调函数中,要对被调函数先做声明。(3)如果被调函数的返回值为int类型,则不管被调函数位置如何均不需要在主调函数中说明。关于函数声明的一般形式为:函数类型函数类型 函数名函数名(参数类型参数类型1,参数类型参数类型2);或 函数类型函数类型 函数名函数名(参数类型参数类型1,参数名参数名1,参数参数类型类型2,参数名参数名2);(4)如果被调用函数的声明放在源文件的开头,则该声明对整个源文件都有效。(5)如果被调用函数的声明是在调用函数定义的内部,则该声明仅对该调用函
7、数有效。(6)在函数调用中,有下面几种情况可以省略声明:a.如果调用函数和被调用函数是在同一个源文件中,而且被调用函数的定义是在调用函数之前。b.函数的返回值是整数或字符。c.所有被调用函数的声明都是在源文件开头。d.如果被调用函数不是在源文件开头,而是在源文件中间且在所有函数之外某处被声明时,则在被声明之后引用它时,不必再声明,但在被声明之前引用它时,需要对其进行声明。(7)如果调用函数和被调用函数的定义是在同一源文件中,应该先说明或定义被调用函数。7.4 函数的返回值及其类型 函数的返回值通过函数体内的return语句实现。return语句的格式如下:return 表达式表达式;或 ret
8、urn (表达式表达式);如果没有返回值,格式中的左、右圆括号可以省略,即写为:return ;7.5 函数调用时参数间的传递 函数之间的联系,是通过调用函数时参数的传递及函数值的返回。在定义函数时,函数名后面圆括号内的参数称形式参数。调用函数时,函数名后面圆括号内的参数为实参。7.5.1 变量、常量、数组元素作为函数参数变量、常量、数组元素作为函数参数 在函数调用时,使用变量、常量或数组元素作为函数参数时,将实参的值复制到形参相应的存储单元中,即形参和实参分别占用不同存储单元,这种传递方式称为“值传递”。值传递的特点是单向传递,即只能把实参的值传递给形参,而形参值的任何变化都不会影响实参。7
展开阅读全文