C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt

C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt

ID:50083627

大小:475.50 KB

页数:59页

时间:2020-03-08

C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt_第1页
C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt_第2页
C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt_第3页
C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt_第4页
C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 王建国 陈惠明 第5章 函数.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章函数本章讲解1.函数的定义、声明和调用方法2.函数的参数传递方式3.函数的嵌套与递归4.变量的作用域与存储类型5.编译预处理第5章函数5.1函数概述5.2函数参数的传递方式5.3函数的嵌套与递归5.4变量的作用域与存储类型5.5内部函数和外部函数5.6编译预处理5.7标准函数简介5.8函数综合应用案例5.9本章小结5.1函数概述C语言中标准函数由系统提供,又称为库函数或系统函数,其函数原型放在系统的include目录下“.h”为后缀的头文件中,如果程序要用到其中某个函数,必须在调用该函数之前用#include<头文件名>命令将库函数信息包含到本程序中,如scan

2、f、printf、sin、cos等。自定义函数是由用户编写的完成特定功能的程序段,其作用主要是为提高程序的模块化程度,增加程序的可读性。5.1.1函数的定义【案例5.1】编写一个自定义函数求整数n(n<11)的阶乘。的数学表达式为:【程序详解】longintfac(intn){inti,z;//局部变量声明if(n=0

3、

4、n==1)//判断n是否为0或1z=1;elseif(n<11)for(i=1;i<=n;i++)//循环求n!z*=i;elsez=0;//若n>=10则返回0表示溢出return(z);//将z的值作为函数fac()的结果返回}【归纳总结】C语言

5、中所谓函数的定义主要是指自定义函数的定义,函数定义的格式如下:[<类型标识符>]函数名([<形式参数表>]){局部变量声明;函数体;return(表达式);}关于函数定义的几点说明:(1)<类型标识符>用以说明函数返回值的类型,可以是void、int和float等。当函数的返回值为整型(int)时,可省略<类型标识符>。(2)函数名可以是任何合法的标识符,但注意不要与系统关键词相同。为了增加程序的可读性,建议函数命名时要与函数的内容有一定的关系,以便养成良好的编程习惯,例如求和函数可以命名为sum。(3)<形式参数表>用以指明函数的形式参数的类型和个数,多个形参之间使

6、用“,”分隔。(4)函数的返回语句有两种形式:①函数有返回值的情况:return(表达式的值);//表达式的值的类型必须与函数的类型一致②函数无返回值的情况:return;另外,在函数无返回值的情况下,return也可省略,函数执行完毕,自动回到调用处,继续执行下面语句。5.1.2函数的声明和调用【案例5.2】设有如下3×5的矩阵:请编写程序计算所有元素的平均值,并将大于平均值的元素输出。案例的算法描述,如图所示。Ni++j++当jave当i

7、均值a[i][j]>ave开始结束将矩阵A储存到数组a中求平均值avei=0;j=0;row=3;col=5(a)流程图(b)N-S图i]函数名([<形式参数表>]);如:floatsum(floatx,floaty);2.函数调用语句的一般形式(1)函数无返回值的调用语句:函数名([<实

8、参列表>]);(2)函数有返回值的调用语句:变量名=函数名([<实参列表>]);注意,变量的类型必须与函数返回值的类型相同。3.函数调用过程结束主调函数a()调用b函数被调函数b()函数的调用过程如图5-3所示。a函数调用b函数时,系统产生一个中断;a函数停止运行,此时程序转入b函数,运行b函数内的语句;当b函数执行完毕,程序返回主调函数a,继续执行a函数的后续语句。4.注意事项当被调函数的定义位于主调函数后面时,在主调函数内必须对被调函数进行声明;当被调函数的定义位于主调函数前面时,在主调函数中可省略对被调函数的声明。函数的调用过程5.2函数参数的传递方式函数的参数

9、分为形参和实参两类,在函数定义时使用的参数称为形参,在函数调用时使用的参数称为实参;实参与形参的传递方式有两种:值传递方式和地址传递方式。5.2.1值传递方式值传递方式中的“值”,是指某个常量、变量、函数或表达式的计算结果,传值过程就是将实参的内容拷贝一份给形参,函数运行过程中形参的值可能发生变化,函数调用结束后形参在内存中被自动释放。由于形参是实参的拷贝,它们处在不同的内存段中,因此函数调用过程中形参值的变化不会改变实参的值。事实上形参只是一组局部变量,只在函数体内生效。5.2.2地址传递方式参数的地址传递方式也叫引用方式,它与值传递方式的不同之处

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。