




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第8章,函数编号,2,第8章函数,1,概述2,函数定义的一般形式3,函数参数和函数值4,函数调用5,函数嵌套调用6,函数递归调用7,数组作为函数参数8,局部变量和全局变量,主要内容,3,1,概述,C程序结构,4,C程序可以由其他函数组成,被主函数调用。其他函数可以相互调用。同一个函数可以被一个或多个函数调用任意多次。第8章函数,基本概念,分类,从用户使用的角度:标准函数和用户定义函数从函数的形式:非参数函数和参数函数,5,(1),例子(2),函数定义,第8章函数,2,函数定义的一般形式,6,(1),例子,先看函数使用的例子,(用函数来判断两个数的最大值),main() int a,b,c;
2、c=最大值(a,b);打印(“最大值为%d”,c);int max(int x,int y)int z;如果(xy)z=x;否则z=y;返回(z);第8章函数,函数调用,函数定义,第7章,(2)函数定义,第8章函数,类型标识符函数名(参数列表)声明部分语句,int max(int x,int y)int z;如果(xy)z=x;否则z=y;返回(z);函数头、函数体、格式、int:函数类型max:函数名int x、int y:参数及其定义、声明部分:int z;解释函数内部使用的变量。声明部分:如果.解释函数return(z)返回函数的结果,8。(2)功能定义,第8章功能,1。函数的返回值是通
3、过函数中的return语句获得的。一个函数中可以有多个return语句。只有一个有效。2、返回(z);返回z;如果函数值的类型与返回语句中表达式的值不一致,则以函数类型为准。4.如果被调用的函数中没有返回语句,这通常意味着该函数完成了某些操作,并且没有返回任何值。5.为了清楚地表达“没有价值被带回来”,“无效”可以用来定义“没有类型”。函数的返回值,9,3,函数参数和函数值,函数参数形式参与实际参数,形式参数:定义函数时函数名后括号中的参数名:调用函数时函数名后括号中的显式表达式描述:(1)形式参数在调用函数前不占用内存;(2)调用函数时为参数分配内存;呼叫后,释放内存。(3)参数可以是常量、
4、变量或表达式。(4)在定义的函数中,必须引用形式参数的类型。(5)表单参与参数具有相同的类型和相同的数量。(6)如果形式参与参数的类型不一致,根据形式参数的类型自动转换(函数调用转换)。(7)参数对正式参与的参数执行“值转移”。(8)或返回表达式;注意:一个函数中可以有多个返回语句。如果函数类型与返回语句中表达式值的类型不一致,将自动转换为函数类型-函数调用转换函数返回值类型默认int类型函数没有返回值void类型,11,示例没有返回值函数void交换(int x,int y)int temp;temp=x。x=y。y=温度;print star()printf(* * * * * * * *
5、 *);main()int a;a=print star();printf(%d,a);void print star()printf(* * * * * * * * * *);main()int a;a=print star();printf(%d,a);是的。函数printstar()不表示该类型代表整数。在main()中,语句a=print star();执行函数调用,并返回随机整数,因为在定义函数时没有定义返回值。运行结果:* * * * * * * * * * * * 10是返回的随机整数。错误!以下信息将在编译期间显示:不能从void转换为int,例如,12。4.函数调用,格式,函
6、数名(参数列表),第8章函数,模式,1。函数语句printstar() 2。函数表达式c=a*max(a,b) 3。函数参数m=max (a,max (b,c),main () int a,b,c;c=最大值(a,b);打印(“最大值为%d”,c);函数调用,13,4,函数调用,实际参数和形式参数之间的关系,第8章函数,对应关系,对应于类型对应(相同类型或赋值兼容)的编号对应序列,转移关系,实际参数到形式参数值的转移(单向转移),14,4,函数调用,被调用函数的声明和原型,第8章函数,标准函数,使用外部函数。#include #include,用户定义函数,1。当函数定义出现在函数调用之后时,
7、在主音函数中,被调用的函数由函数原型声明。P153,2 .在下列情况下,函数声明是不必要的。函数定义出现在函数调用之前,但是函数类型正在成形。在所有函数定义之前,函数是在函数外声明的,所以没有必要在主音函数中声明被调用的函数。15,4,函数调用,例如,第8章函数,C(m,n)=m!/(n!*(m-n)!)(mn),主()浮子c;int m,n;浮点fac(int x);printf(“输入m,n :”);扫描频率(“%d% d”),输入m,n:5 3,结果为10.0,16,5。函数的嵌套调用。嵌套调用c规定函数定义不能嵌套,但是函数可以嵌套调用。例如,17,找出三个数中最大值和最小值之间的差,int dif(int x,int y,int z);int max(int x,int y,int z);int min(int x,int y,int z);void main() int a,b,c,d;scanf(%d%d%d,int dif(int x,int y,i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 围棋棋室管理办法
- 国企工资管理办法
- 国外工程管理办法
- 图文内容创作服务费合同
- 2025至2030中国伊平行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国三级脂肪胺行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国稀土发光材料行业市场发展分析及前景趋势与投资管理报告
- 2025至2030移动床生物反应器(MBBR)行业产业运行态势及投资规划深度研究报告
- 2025至2030电子货架标签行业项目调研及市场前景预测评估报告
- 2025年克孜勒苏州客运从业资格证
- 2025榆能煤炭进出口公司神木饭店招聘300人笔试历年参考题库附带答案详解
- 《公司法》考试题库100题(含答案)
- 企业标准编写模板
- 提高卧床患者踝泵运动的执行率品管圈汇报书模板课件
- 预防出生缺陷PPT
- 感控培训教育制度
- ROEDERS (罗德斯CNC)公司内部培训手册
- (推荐精选)PPI药理学基础与合理用药
- 专题喜马拉雅造山与成矿作用igcp600
- 宝利通录播服务器RSS 培训手册
- 西安交通大学第一附属医院进修申请表
评论
0/150
提交评论