函数(0001)省公共课一等奖全国赛课获奖课件.pptx
《函数(0001)省公共课一等奖全国赛课获奖课件.pptx》由会员分享,可在线阅读,更多相关《函数(0001)省公共课一等奖全国赛课获奖课件.pptx(50页珍藏版)》请在咨信网上搜索。
面向对象程序设计第5章 函数长春理工大学计算机科学技术学院 陈纯毅第1页5.1 简单函数double power2(double x);void main()double x=2,y;y=power(x);double power2(double x)return x*x;长春理工大学计算机科学技术学院 陈纯毅第2页5.1 简单函数函数申明、函数调用、函数定义长春理工大学计算机科学技术学院 陈纯毅第3页5.1 简单函数函数申明函数调用前申明或者函数定义时申明void starline();double power2(double x);长春理工大学计算机科学技术学院 陈纯毅第4页5.1 简单函数函数调用void main()double x=2,y;y=power(x);长春理工大学计算机科学技术学院 陈纯毅第5页5.1 简单函数函数定义double power2(double x)return x*x;长春理工大学计算机科学技术学院 陈纯毅第6页5.2 向函数传递参数(1)传递常量(2)传递变量 值传递 引用传递 地址传递长春理工大学计算机科学技术学院 陈纯毅第7页5.2 向函数传递参数(1)传递常量double power2(double x);void main()double y=power2(3);/参数3为常量长春理工大学计算机科学技术学院 陈纯毅第8页5.2 向函数传递参数(1)值传递double power2(double x);void main()double x=3;double y=power2(x);/参数3为常量长春理工大学计算机科学技术学院 陈纯毅第9页5.2 向函数传递参数作为参数结构能够把结构变量看成内置变量在函数之间进行传递。长春理工大学计算机科学技术学院 陈纯毅第10页5.2 向函数传递参数(1)引用传递double power2(double&x);void main()double x=3;double y=power2(x);/double power2(double&x)return x*x;长春理工大学计算机科学技术学院 陈纯毅第11页5.2 向函数传递参数(1)地址传递double power2(double*x);void main()double x=3;double y=power2(&x);/double power2(double*x)return(*x)*(*x);长春理工大学计算机科学技术学院 陈纯毅第12页5.3 从函数返回值用return返回一个值能够返回一个结构变量,实现多值返回长春理工大学计算机科学技术学院 陈纯毅第13页5.3 从函数返回值struct Student char name8;int score;长春理工大学计算机科学技术学院 陈纯毅第14页5.3 从函数返回值Student giveMark(Student std)char nameZ4=Jim;for(int i=0;std.namei!=0&nameZi!=0;i+)if(std.namei!=nameZi)break;if(i=3)std.score=90;else std.score=80;return std;长春理工大学计算机科学技术学院 陈纯毅第15页5.3 从函数返回值int main()Student std=Jim,0;std=giveMark(std);coutstd.name,std.score;return 0;长春理工大学计算机科学技术学院 陈纯毅第16页5.3 从函数返回值int main()Student std=“Kate,0;std=giveMark(std);coutstd.name,std.score;return 0;长春理工大学计算机科学技术学院 陈纯毅第17页5.4 引用参数引用为变量提供一个别名,主要用于参数中参数传递。长春理工大学计算机科学技术学院 陈纯毅第18页5.4 引用参数#include using namespace std;int Increase(int d)d=d+1;return d;int main()int d=1;int b=Increase(d);coutb,d;return 0;长春理工大学计算机科学技术学院 陈纯毅第19页5.4 引用参数#include using namespace std;int Increase(int&d)d=d+1;return d;int main()int d=1;int b=Increase(d);coutb,d;return 0;长春理工大学计算机科学技术学院 陈纯毅第20页5.5 重载函数传递数据种类决定了重载函数活动。(1)不一样参数个数(2)不一样参数种类长春理工大学计算机科学技术学院 陈纯毅第21页5.5 重载函数#include using namespace std;void repchar()for(int i=0;i3;i+)cout+;coutendl;void repchar(char ch)for(int i=0;i3;i+)coutch;coutendl;void repchar(char ch,int n)for(int i=0;in;i+)coutch;coutendl;长春理工大学计算机科学技术学院 陈纯毅第22页5.5 重载函数int main()repchar();repchar(a);repchar(a+1,5);return 0;长春理工大学计算机科学技术学院 陈纯毅第23页5.5 重载函数int main()repchar();repchar(a);repchar(a+1,5);return 0;长春理工大学计算机科学技术学院 陈纯毅第24页5.5 重载函数int divide(int a,int b)return a/b;double divide(double a,int b)return a/b;int main()coutdivide(3,2),divide(3.0,2);return 0;长春理工大学计算机科学技术学院 陈纯毅第25页5.5 重载函数int divide(int a,int b)return a/b;double divide(double a,int b)return a/b;int divide(double a,int b)return static_cast(a)/b;int main()coutdivide(3,2),divide(3.0,2);return 0;长春理工大学计算机科学技术学院 陈纯毅第26页5.6 递归int fun(int n)if(n=1)return 1;elsereturn n+fun(n-1);int main()coutfun(3);return 0;长春理工大学计算机科学技术学院 陈纯毅第27页5.6 递归fun(3)3+fun(2)3+2+fun(1)3+2+1长春理工大学计算机科学技术学院 陈纯毅第28页5.7 内联函数inline使用函数能节约内存空间,不过必须使用存放器保留指令、存放器恢复指令、返回请求调用指令等额外指令调用,造成时间开销增加。内联函数可将函数体中代码直接嵌入到请求调用程序代码中,从而减小时间开销。长春理工大学计算机科学技术学院 陈纯毅第29页5.7 内联函数inline double area(double r)return 3.14*r*r;int main()coutarea(2);return 0;长春理工大学计算机科学技术学院 陈纯毅第30页5.7 int main()cout 3.14*2*2;return 0;长春理工大学计算机科学技术学院 陈纯毅第31页5.8 默认参数void repchar(char ch=*,int n=3)for(int i=0;in;i+)coutch;coutendl;int main()repchar();repchar(a);repchar(b,5);return 0;长春理工大学计算机科学技术学院 陈纯毅第32页5.8 默认参数void fun(int x=3,char ch=a,double d=3.14)coutx,ch,d;fun(6);fun(6,b);fun(6,b,3.1);fun(b,3.1);fun(3.1);fun(6,3.1);长春理工大学计算机科学技术学院 陈纯毅第33页5.9 域解析运算符和存放类变量域解析运算符决定了程序哪个部分能够访问它。变量存放类决定了它生存期有多长。长春理工大学计算机科学技术学院 陈纯毅第34页5.9 域解析运算符和存放类含有局部域解析运算符变量仅在块内可见。含有文件域解析运算符变量在整个文件中可见。含有automatic存放类型变量,在定义它函数生命周期内存在。含有static存放类型变量,在整个程序生命周期内存在。长春理工大学计算机科学技术学院 陈纯毅第35页5.9 域解析运算符和存放类(1)局部变量在函数中定义变量。定义变量时,默认使用automatic存放类型。实际上函数中automatic存放类型变量是在函数栈空间分配内存空间,当函数退出时,函数栈空间全部变量都被销毁。变量域解析运算符也称为可见性,描述了在程序中变量能够被访问位置。长春理工大学计算机科学技术学院 陈纯毅第36页5.9 域解析运算符和存放类void somefunc()int somevar;float othervar;somevar=10;othervar=11;netvar=12;/illegalvoid otherfun()int nextvar;somevar=10;/illegal othervar=1;/illegal nextvar=2;长春理工大学计算机科学技术学院 陈纯毅第37页5.9 域解析运算符和存放类变量初始化int a=1;长春理工大学计算机科学技术学院 陈纯毅第38页5.9 域解析运算符和存放类(2)全局变量全局变量定义在任何函数外部,其对某个文件中全部函数含有可见性,它对全部在变量定义后函数都是可见。长春理工大学计算机科学技术学院 陈纯毅第39页5.9 域解析运算符和存放类char ch=a;void putChar()coutch;int main()coutinput a character:;getChar();coutnthe character is:;putChar();return 0;长春理工大学计算机科学技术学院 陈纯毅第40页5.9 域解析运算符和存放类定义全局变量int exvar=199;全局变量被初始化为199。int exvar;全局变量被默认初始化为0。长春理工大学计算机科学技术学院 陈纯毅第41页5.9 域解析运算符和存放类(3)静态局部变量静态局部变量可见性和自动局部变量相同,但其生命期与全局变量相同,区分仅在当包含它函数第一次被调用时,它才开始存在。长春理工大学计算机科学技术学院 陈纯毅第42页5.9 域解析运算符和存放类(3)静态局部变量float getavg(float d)static float total=0;static int counter=0;counter+;total+=d;return total/counter;长春理工大学计算机科学技术学院 陈纯毅第43页5.9 域解析运算符和存放类int main()float avg;avg=getavg(3);coutavgendl;coutgetavg(5)endl;coutgetavg(8);return 0;长春理工大学计算机科学技术学院 陈纯毅第44页5.9 域解析运算符和存放类静态局部变量只在函数第一次调用时被初始化,在其后函数调用中不会被再次初始化。长春理工大学计算机科学技术学院 陈纯毅第45页5.9 域解析运算符和存放类存放类型page 145,表5-2.长春理工大学计算机科学技术学院 陈纯毅第46页5.10 经过引用返回(1)等号左方函数调用int x=0;int&setX()return x;int main()setX()=2;coutx;return 0;长春理工大学计算机科学技术学院 陈纯毅第47页5.10 经过引用返回返回值类型函数能够被看成一个值来使用。返回引用类型函数能够被看成一个变量来使用。返回引用类型函数不能返回一个常量值。在返回引用类型函数中,不能将一个局部变量作为引用返回。长春理工大学计算机科学技术学院 陈纯毅第48页5.10 经过引用返回(2)常量类型函数参数void func(int&a,const int&b)a=a+b;int main()int a=2;int b=1;func(a,b);couta,b;return 0;长春理工大学计算机科学技术学院 陈纯毅第49页5.10 经过引用返回void func(int&a,const int&b)a=a+b;b=0;/?int main()int a=2;int b=1;func(a,b);couta,b;return 0;长春理工大学计算机科学技术学院 陈纯毅第50页- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 0001 公共课 一等奖 全国 获奖 课件
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文