版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 函数,本章教学目标: 掌握函数定义和调用的基础知识; 熟悉C语言程序函数式程序设计基本框架。 本章重点内容: C语言的库函数; C语言中函数的定义和返回值; 函数多种调用形式; 函数参数传递。,第六章 函数,C语言提供了丰富的库函数,这些函数有常用的数学运算函数、类型转换函数、字符串处理函数、标准I/O函数、文件管理函数、字符判别与转换函数。 在调用函数时,需做到以下两点: 1.调用C语言标准库函数时对于include命令行的要求 对每一类库函数,在调用该类库函数时,用户在 源程序include命令行中应该要包含相应的头文件名。 2.标准库函数的调用 对库函数的一般调用形式为: 函数名
2、(实参表达式1,实参表达式2,),6.1 库函数,6.2.1 函数定义 (1)函数定义的一般形式为: 类型名 函数名(形式参数类型说明及列表) /*函数的首部*/ 局部变量说明部分 /*函数体*/ 可执行语句部分 ,6.2 函数的定义和返回值,(2)函数名和形式参数都是由用户命名的标识符。对于自定义函数,其命名遵循C语言标识符的规定。在同一个程序中,函数名必须唯一,形式参数名只要在同一个函数中唯一即可,可以与其他函数中的变量同名。 (3)若在函数的首部省略了函数返回值的类型名,把函数首部写成: 函数名(类型名 形式参数1,类型名 形式参数2,) 则默认函数返回值的类型为int类型。 例如: m
3、ax(int a ,int b),6.2 函数的定义和返回值,(4) C语言规定,不能在函数的内部定义函数。 (5)除了返回值类型为int类型的函数外,函数必须先定义(或说明)后调用。 (6)若函数只是用于完成某些操作,不提供函数返回值,则可以把函数定义成空类型。空类型的标识符为void。,6.2 函数的定义和返回值,例6.1 自定义函数power(x,n),其功能是求x的n次方。 float power(float x,int n) int i; float t=1; for(i=1;i=n;i+) t=t*x; return t; ,6.2 函数的定义和返回值,6.2.2 函数返回值 如果
4、函数需要返回值,一般是通过return语句来实现。return语句的一般形式如下: return (表达式); 执行时,先计算出括号中表达式的值,再将该值返回给主调函数中的调用表达式。也就是说,return语句中的表达式的值就是所求的函数值,此表达式值的类型必须要与函数首部说明的类型一致。若类型不一致,则以函数值的类型为准,由系统自动转换。,6.2 函数的定义和返回值,当程序执行到return语句时,程序的流程就会返回到调用该函数的地方并带回函数值。在同一个函数内,可以根据需要,出现多个return语句,但无论函数体中有多少个return语句,return语句只可能执行一次。 return语句
5、中也可以不含表达式,这时必须定义函数为void类型,它的作用只是使流程返回到调用函数,并没有确定的函数值。,6.2 函数的定义和返回值,6.3.1 函数的调用方式 根据函数的有参数和无参数两种不同形式,函数调用也分为有参和无参两种。 有参函数调用的一般形式为: 函数名(实在参数表) 无参函数调用的一般形式为: 函数名( ),6.3 函数的调用,按照函数调用在程序中出现的形式和位置来分,可以有以下三种函数调用方式。 函数调用语句 printf(“%d”,a); 函数表达式 c=2+max(a,b); 函数参数 c=max(x,max(y,z);,6.3 函数的调用,6.3.2 函数调用时的几点语
6、法说明 调用函数时,函数名必须与所调用函数名字完全一致; 实际参数的个数必须与形式参数的个数相同。应该特别注意实参与形参的类型匹配。 C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。 C程序中,函数可以直接或间接的自己调用自己,称为递归调用。,6.3 函数的调用,例6.2用递归法计算n! 用递归法计算n!可用下述公式表示: n!=1 (n=0,1) n(n-1)! (n1) 按公式可编程如下: long ff(int n) long f; if(n0) printf(n0,input error); else if(n=0|n=1) f=1; else f=ff
7、(n-1)*n; return(f); ,6.3 函数的调用,main( ) int n; long y; printf(ninput a inteager number:n); scanf(%d, ,函数说明与该函数定义的第一行给出的函数类型中形参名、形参的个数、类型、次序相一致。函数说明语句的一般形式如下: 类型名 函数名(参数类型说明列表); 函数说明语句由函数定义的首部加分号构成。参数列表可以省略形参名,但是参数类型、参数位置和数目必须一致。,6.4 函数的说明,Turbo C在以下情况中,函数声明可以省略: 当函数定义在主调函数之前,即先定义后调用。这样在调用时,就已经具备了被调函数
8、的全部信息,函数声明可以省略。 当函数的类型为int型或char型或void型时函数说明可以省略。,6.4 函数的说明,在C语言中,调用函数和被调用函数之间的数据可以通过三种方式进行传递: 实在参数和形式参数之间进行数据传递 通过return语句把函数值返回调用函数 通过全局变量。但这不是一种好的方式,通常不提倡使用。,6.5 调用函数和被调用函数之间的数据传递,例6.3 输入两个数,输出其中较大的数。 #include main( ) int a,b,m; int max(int,int); scanf(“%d,%d”, 如果运行时输入: 10,5 输出为:10,6.5 调用函数和被调用函数之间的数据传递,int max(int x,i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院业务副院长职责(五篇)
- 网络课程设计的分类
- 网页课程设计摘要模板
- 网上书店c 课程设计
- 微机原理通讯录课程设计
- 联想记忆课程设计
- 电话礼仪课程设计
- 职工系统Delphi课程设计
- 家政保洁公司营业员服务总结
- 美的物流课程设计
- 沈鼓集团招聘笔试题库2024
- 高中人教版必修一全册历史期末总复习重要知识点归纳
- 2024年网络安全知识竞赛考试题库500题(含答案)
- 南平武夷高新技术产业控股集团有限公司招聘笔试题库2024
- 《2024年 基于Python的电影弹幕数据分析》范文
- 三支一扶协议书模板
- 施工现场临时用电安全监理检查表
- 2024年全国职业院校技能大赛高职组(护理技能赛项)备赛试题库(含答案)
- 2024小英新人教版PEP三年级上册全册单元测试测评卷
- 供应链管理规章制度
- 2023非预应力钢筒混凝土管
评论
0/150
提交评论