版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 函数函数头函数头函数体函数体第4章 函数函数调用语句函数调用语句主调函数主调函数被调函数被调函数转换为函数类型,假设不能转换,那么编译过程会出错!假设函数不需求前往值,那么应将类型指定为void。第4章 函数执行该语句时,不带回前往执行该语句时,不带回前往值,只是前往主调函数值,只是前往主调函数第4章 函数函数原型声明的普通格式:函数类型函数名方式参数表;留意:函数原型中可以不写出参数名。如:double power(double, int);第4章 函数第4章 函数 返 回第4章 函数10a10 x20b20y1020 xy10temp2020 xy10temp2010 xy10te
2、mpvoid swap(int x, int y)int temp;temp = x;x = y;y = temp;第4章 函数留意:值传送时,函数的实参与形参在内存中占用不同的存储空间,值只能由留意:值传送时,函数的实参与形参在内存中占用不同的存储空间,值只能由实参传送给形参,而形参的变化并不会影响实参。因此不能完成程序功能。实参传送给形参,而形参的变化并不会影响实参。因此不能完成程序功能。一个单元。留意:定义援用时一定要初始化,指明该援用变量是谁的别名。第4章 函数定义援用定义援用b,并将其作为,并将其作为a的别名的别名第4章 函数将将c的值赋给的值赋给b,不是将,不是将b作为作为c的别名
3、的别名第4章 函数#include void swap(int x, int y);void main()int a, b;a = 10;b = 20;swap(a, b);cout a , b endl;void swap(int &x, int &y)int temp;temp = x;x = y;y = temp;第4章 函数10axby20axby10temp20axby10temp10axby10temp20202010留意:援用作参数时,函数的实参与形参在内存中共用存储单元,因此形参的留意:援用作参数时,函数的实参与形参在内存中共用存储单元,因此形参的变化会使实参同
4、时变化。变化会使实参同时变化。 返 回第4章 函数第4章 函数long f1(int n) / 求求1!+2!+n!int i;long sum = 0;for(i=1; i=n; i+)sum += f2(i);return sum;long f2(int m) / 求求m!int i;long s = 1;for(i=1; i1) f=n*power(n-1); else f=1; return f;第4章 函数第4章 函数ABC第4章 函数第4章 函数 返 回第4章 函数第4章 函数 返 回void main()int a, b, c;a = 10;b = 20;c = Add(a,b)
5、;cout a + b = c endl;c = Add(a,50);cout a + 50 = c endl;c = Add(50,50);cout 50 + 50 = c endl; int max1(int x, int y) double max2(double x, double y)在C+中,可经过定义两个重载函数实现,二者同名,如下: int max(int x, int y) double max(double x, double y)第4章 函数第4章 函数 返 回int max(int x, int y) cout int function y) return x; els
6、e return y; double max(double x, double y) cout float function y) return x; else return y; 第4章 函数#include double power(double x=10.0, int n=2); void main() cout power(3, 5) endl; cout power(3) endl; cout power() endl; double power(double x, int n) int i;double s=1.0;for(i=1; i=n; i+) s *= x;return s
7、; 在后两种情况下,调用语句 x = max(20, 30); 会出错!留意:在运用带默许参数值的函数时,只能在函数定义或函数声明中的一个位置给出默许值,不能在两个位置同时给出。还要保证在函数调用之前给出默许值。第4章 函数第4章 函数#include int add(int x=5, int y=6); float add(int x=5, float y=10.0); void main() int a; float b; a= add(10,20); b= add(10); cout a= a endl; cout b= b endl; int add(int x, int y) return x+y; float add(int x, float y) return x+y; 返 回第4章 函数void f1(int a) int b,c; void main() int m,n; int i,a;for(i=0; i10; i+) int b; 第4章 函数int a,b; void f1( ) int x,y;void main() 第4章 函数仅初始化一次,每次调用它所在的函数时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行长职位面试问题及答案
- 汽车销售顾问招聘面试题目解答
- 土木工程师执业资格考试复习宝典含答案
- 财务出纳岗位面试题库及答案
- 口译员面试技巧与常见问题解答
- 2025年个性化营养与健康项目可行性研究报告
- 2025年数字支付系统构建可行性研究报告
- 2025年社区文化服务项目可行性研究报告
- 2025年极简生活产品开发项目可行性研究报告
- 2025年家庭智能机器人研发项目可行性研究报告
- 雨课堂学堂在线学堂云《情报检索-信息时代的元素养》单元测试考核答案
- 2026广东深圳市事业单位招聘高校毕业生658人(公共基础知识)测试题带答案解析
- 2026年计算机操作员(中级)自测试题及答案
- 2025北京城投国际物流集团有限公司天津科技分公司招聘4人笔试考试参考试题及答案解析
- 井下支柱工实操考试试题及答案
- 2025年4.15全民国家安全教育日知识竞赛题附答案
- 2025广投集团秋季校园招聘笔试历年参考题库附带答案详解
- (2025版)混合性认知障碍诊治专家共识解读课件
- 2025至2030中国船用防冻剂行业项目调研及市场前景预测评估报告
- 智慧停车系统培训课件大纲
- 阴囊挫伤课件
评论
0/150
提交评论