高二高教版C语言程序设计教程(第5版)课件第8章函数

2022-12-02
| 38页
| 95人阅读
| 0人下载
普通

内容正文:

第8章 函数 用户自定义函数 函数间的数据传递 函数的嵌套调用和递归调用 变量的存储类别 本章要点 ** 一个C语言源程序通常由一个主函数和若干个子函数组成,各子函数之间的关系是平行的,因此不能嵌套定义,但能相互调用。一个C语言源程序无论包含了多少个函数,程序的执行总是从主函数main()开始,并终止于主函数main()。 ** 通常将一个C语言源程序分解成一个或多个文件,这些文件可分别编写、编译、最后连接为一个 .EXE 文件。 ** 从用户使用的角度将函数分 为两种:标准函数(库函数)和用户自定义函数。 8.1 用户自定义函数 8.1.1 用户自定义函数的定义 [类型标识符] 函数名([形式参数表]) { [函数体] } 函数名:由用户命名,命名规则与标识符命名规则相同。 类型标识符: 定义了函数返回值的数据类型。当函数的返回值是整形或字符型,可省略类型标识符。当函数无返回值时,则类型标识符用void关键字。 形式参数表的一般形式为: 类型标识符 形参1,类型标识符 形参2,··· 若省略形式参数表,则称为无参函数。否则称为有参函数。 函数体:包含了说明语句和执行语句。当函数无函数体时,则为空函数。 例8.1:编写一个求n! 的函数(n为整数) long fac(int n) { long k=1;int i; /*定义一个累乘器 */ for( i=1; i<=n; i++) k*=i; return(k); } 例8.2 编写一个打印30个*号的函数 void printstar ( ) { int j; for (j=1; j<=30; j++) printf(“*”) ; } 所定义的函数有返回值、返回值的类型为长整型,有一个形参,参数类型为整型 所定义的函数无返回值,无形式参数 8.1.2 用户自定义函数的返回值 函数的返回值是通过return语句实现的。 格式:return(表达式);或 return 表达式; 语义:当函数执行到return语句时,程序的流程立即返回到调用该函数的地方(通常称为退出调用函数),并通过return语句返回函数值。return语句中表达式的值就是函数值。如果return语句不包含表达式,则返回一个不确定的函数值。 long fac(int n) { int i;long k; for(i=1,k=1;i<=n;i++) k=k*i; return (k);}   如果函数有返回值,这个值就应该有一个确定的数据类型,所以在定义函数首部时应指定函数值的类型。 说明: 在同一个函数内可根据需要在多处设置return语句,函数执行过程中遇到任何一个return语句时,都将立即返回到调用该函数的地方。 如果需要从被调函数中带回一个确定的值,被调函数中必须包含return 语句。 如果函数中没有return语句,程序的流程一直执行到函数末尾的右花括号“}”处,然后返回到调用该函数的地方并返回一个不确定的、无用的函数值。 为了明确表示“不返回值”,可以用“void”定义“无类型”(或称“空类型”)函数。 max (int x, int y) { if (x>y) return x; else return y; } printf(“***”); 8.1.3用户自定义函数的调用 1、函数的调用 函数调用的一般形式:函数名([实参表]) 实参表: 可以是常量、变量或表达式。 其类型、顺序和个数必须与函数定义时形参表的一致。 对于无参函数,则省略实参,但括号不能省略。 函数的调用过程: 程序控制从主调函数转移到被调函数; 将实参的值按位置一一对应传递给形参; 从被调函数的第一条语句开始执行该函数各个语句; 在执行完所有语句或遇到return语句时,返回到主调函数中原来的调用处继续执行主调函数。     主函数     fun1    fun2 {...       {...      { ... fun1( );  fun2( )        ...   ...     ...        ... ...       ...       

资源预览图

高二高教版C语言程序设计教程(第5版)课件第8章函数
1
高二高教版C语言程序设计教程(第5版)课件第8章函数
2
高二高教版C语言程序设计教程(第5版)课件第8章函数
3
高二高教版C语言程序设计教程(第5版)课件第8章函数
4
高二高教版C语言程序设计教程(第5版)课件第8章函数
5
高二高教版C语言程序设计教程(第5版)课件第8章函数
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。