版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C++语言程序设计函数22主要内容数组作为函数参数内联函数带有默认参数的函数指针和函数3数组作为函数参数数组元素作实参,与单个变量一样。例如:inta[3]={1,2,3}; a[0]=power(a[1],a[2]);数组名作参数,形、实参数都应是数组名,类型要一样,传送的是数组首地址。对形参数组的改变会直接影响到实参数组。4例12-1使用数组名作为函数参数主函数中初始化一个一维数组并将每个元素都输出,然后调用子函数,每一个数组元素的值变为原来的2倍,并计算出变化以后的数组元素和,返回主函数之后输出一维数组中的各个元素及其和。5#include<iostream>usingnamespacestd;intmain(){ intchange(inta[],intn);intsum,i,n,d[5]={4,2,5,1,7}; n=5; cout<<"调用函数之前,数组d中的元素值:"; for(i=0;i<n;i++) cout<<d[i]<<""; sum=change(d,n); cout<<endl<<"调用函数之后,数组d中的元素值:"; for(i=0;i<n;i++) cout<<*(d+i)<<""; cout<<endl<<"调用函数后,数组d中的元素之和为:"<<sum<<endl; return0;}6//变换数组元素并求和intchange(inta[],intn){inti,s; for(i=0;i<n;i++) a[i]=2*a[i]; s=0; for(i=0;i<n;i++) s=s+a[i]; returns;}7内联函数声明与使用声明时使用关键字inline。编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销。注意:内联函数体内不能有循环语句和switch语句。内联函数的声明必须出现在内联函数第一次被调用之前。对内联函数不能进行异常接口声明。内联函数8例12-2内联函数应用举例#include<iostream>usingnamespacestd;doubleCalArea(doubleradius){ return3.14*radius*radius;}intmain(){
inlinedoubleCalArea(doubleradius); doubler(3.0); doublearea; area=CalArea(r); cout<<area<<endl; return0;}内联函数9默认形参值的作用函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。例如:intadd(intx,inty){returnx+y;}intmain(){intadd(intx=5,inty=6); add(10,20);//10+20add(10);//10+6add();//5+6 return0;}带默认形参值的函数10默认形参值的说明次序默认形参值必须从右向左顺序声明,并且在默认形参值的右面不能有非默认形参值的参数。因为调用时实参取代形参是从左向右的顺序。例:intadd(intx,inty=5,intz=6);//正确intadd(intx=1,inty=5,intz);//错误intadd(intx=1,inty,intz=6);//错误带默认形参值的函数11默认形参值的作用域在相同的作用域内,默认形参值的说明应保持惟一,但如果在不同的作用域内,允许说明不同的默认形参。例:intadd(intx=1,inty=2);intmain(){intadd(intx=3,inty=4);add();//使用局部默认形参值(实现3+4) return0;}voidfun(){...
add();//使用全局默认形参值(实现1+2)}带默认形参值的函数121、以指针作为函数参数以地址方式传递数据,可以用来返回函数处理结果。实参是数组名时形参可以是指针。2、函数返回值为指针声明形式数据类型*函数名()函数与指针13例12-3求字符串的左子串#include<iostream>#include<cstring>usingnamespacestd;intmain(){ char*left(char*s,intn);char*p,s[100];intn; strcpy(s,"1234567890"); cout<<"请输入一个正整数:"; cin>>n; p=left(s,n); cout<<"原来的字符串为:"<<s<<endl; cout<<"左子串为:"<<p<<endl; delete[]p; return0;}14char*left(char*s,intn){intMyStrlen(char*);char*t;intl; l=MyStrlen(s); t=newchar[l+1]; strcpy(t,s); if(n<l)t[n]=0; returnt;}intMyStrlen(char*s){intn=0;while(*s++!='\0')n++;returnn;}15结 束 语预习:P995.6局部变量和全局变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖南中南大学湘雅口腔医院护士招聘7人备考题库及1套参考答案详解
- 2025年德州爱瑞康医院招聘备考题库及一套参考答案详解
- 2025年华能安阳热电有限责任公司招聘备考题库及答案详解参考
- 2025年北京老年医院面向应届毕业生公开招聘43人备考题库完整答案详解
- 高新技术产业园区巡察督导标准与面试题
- 携程市场营销经理面试题库
- 2025年百泉镇村(社区)后备干部招募备考题库及参考答案详解1套
- 2025年长沙市城市建设档案馆公开招聘普通雇员备考题库完整答案详解
- 2025年图木舒克城市投资集团有限公司招聘备考题库及一套答案详解
- 2025年贵阳市医疗健康产业投资股份有限公司财务总监招聘备考题库有答案详解
- 脑器质性精神障碍护理查房
- GB/T 45481-2025硅橡胶混炼胶医疗导管用
- GB/T 32468-2025铜铝复合板带箔
- 山西交控集团招聘笔试内容
- 大窑校本教材合唱的魅力
- 《建筑测绘》课件
- 《健康体检报告解读》课件
- 前台电话礼仪培训
- T-CET 402-2024 金属结构曲面屋顶晶硅组件建筑光伏一体化技术规范
- 智慧健康养老管理基础知识单选题100道及答案解析
- 车床设备大修计划方案
评论
0/150
提交评论