- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17讲调用函数和被调用函数间的数据传递函数的递归调用程序举例
第17讲 调用函数和被调用函数间的数据传递 函数的递归调用、程序举例 例7.1 函数参数之间的单向传递 例7.2 实参向形参按位置传递数据 2.数组名作为参数 例7.3 选择法排序 对10个数排序的算法步骤演示如下: 对10个数排序的算法步骤演示如下: 10个数排序的完整程序如下: 例7.4 将一个数组中的n个数据按颠倒的顺序重新存放 数组逆序程序 例7.5 求二维数组每行元素的平均值 7.6 函数的嵌套与递归调用 7.7 函数程序举例例7.8 例7.9 编写函数,验证任意偶数为两个素数之和并输出这两个素数。 例7.10 利用梯形法求定积分 利用梯形法求定积分 例7.11 编写函数统计输入的一行字符中出现的每个小写字母的个数。 例7.12 求某班每门课程的平均成绩和每个学生的平均成绩 求某班的课程平均成绩和学生的平均成绩 * 形参与实参的概念 形式参数:定义函数时函数名后面括号中的变量名 实际参数:调用函数时函数名后面括号中的表达式 §7.5 调用函数和被调用函数之间的数据传递 int max2(int x, int y) {int z; z=(xy)?x,y ; return(z); } main() {int a,b,c; a=30,b=58; c=max2(a,b); c=max2(a+5,100); printf(“%f\n”,c); } 例如: 形参:x,y 形参必须指定类型; 实参:a,b 实参: a+5,100 (1) 实参表达式也可以是变量或常量,但必须有确定的值; (2) 要求形参与实参类型一致,个数相同(多:略/少:随机值); (4) 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放; (5) C语言的参数传递方式 值传递方式:函数调用时,系统临时为被调函数的形参分配存贮单元,并将实参的值复制到形参中;当被调函数结束时,形参单元被释放,实参单元仍保留并维持原值。 特点:单向的值传递(数值或地址值)。 有关参数传递的几点说明 x a product ×× ×× 1.2 1.2 1.728 1.变量作为参数(单向的数值传递) #include stdio.h float cube(float x) { return(x*x*x); } void main() { float a, product; printf(Please input value of a:); scanf(%f,a); product=cube(a); printf(”Cube of %.4f is %.4f\n,a,product); } 例 计算x的立方 Cube [kju:b] n.立方体, 立方 main() {void swap(int , int); int x=10,y=20; printf(“(1)x=%d y=%d\n”,x,y); swap(x,y); printf(“(4)x=%d y=%d\n”,x,y); } void swap(int a, int b) {int t; printf(“(2)a=%d b=%d\n”,a,b); t=a; a=b; b=t; printf(“(3)a=%d b=%d\n”,a,b); } 10 20 x: y: 调用前: 调用结束: 10 20 x: y: 调用: 10 20 a: b: 10 20 x: y: swap: 10 20 x: y: 20 10 a: b: t: 程序运行结果为: (1)x=10 y=20 (2)a=10 b=20 (3)a=20 b=10 (4)x=10 y=20 main( ) {void ex(int z,int y,int x); int x=10,y=20,z=30; printf(“(1)x=%d y=%d z=%d\n”,x,y,z); ex(y,z,x); } void ex(int x,int y,int z) { printf(“(2)x=%d y=%d z=%d\n”,x,y,z); } 程序运行结果为: (1)x=10 y=20 z=30 (2)x=20 y=30 z=10 实参: 30 10 y: z: 30 10 z: x: 形参: 20 x: 20 y: 函数说明语句 形参名是一种虚设 函数调用语句确定实参顺序 函数定义 确定形参顺序 实参向形参按位置传递数据 #include stdio.h long sum(i
您可能关注的文档
- 第15章使用定制组件.ppt
- 第15章_滑动轴承.ppt
- 第15章 滑动轴承.ppt
- 第15章债务重组.ppt
- 第14章晶体薄膜的衍衬.ppt
- 第15章商品的检验索赔不可抗力与仲裁.ppt
- 第15章使用对象丰富幻灯片内容.ppt
- 第15章土木工程设计方法.ppt
- 第15章呼吸衰竭.ppt
- 第15章教学管理系统的C++实现.ppt
- DB5105_T 72-2024 古蔺甜橙 生产技术规程.docx
- DB52∕T 1504-2020 传统村落火灾防控规范.docx
- T_CIECCPA 022-2024 磷酸铁锂退役电池梯次应用技术要求和检验方法.docx
- T_HBIQA 0005-2024 人体血液中5种雷帕霉素靶蛋白类抑制剂药物含量的测定 高效液相色谱-串联质谱法.docx
- T_GXAS 511-2023 灭火器维修企业从业能力基本要求.docx
- T_WD 120-2024 T_CAS 865-2024 质量分级及“领跑者”评价要求 通用仓储服务.docx
- T_ZJZYC 017-2024 山药定向绿色栽培技术规程.docx
- T_GXAS 517-2023 广西科技计划项目跟踪调查规范.docx
- DB3502_T 117.2-2023 国际贸易单一窗口数据开放服务 第2部分:报关服务数据元.docx
- DB41∕T 1637-2018 自动扶梯和自动人行道相邻区域防坠落安全规范.docx
文档评论(0)