C++程序设计函数ppt课件.pptx





《C++程序设计函数ppt课件.pptx》由会员分享,可在线阅读,更多相关《C++程序设计函数ppt课件.pptx(103页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益程序设计与算法语言 C+程序设计函数为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益本章内容简要介绍简要介绍函数调用时的内部实现机制,以及函数调用时的内部实现机制,以及与此相关的内存分配机制、变量生与此相关的内存分配机制、变量生命期和作用域;函数重载,递归算命期和作用域;函数重载,递归算法、内联函数、默认参数函数以及法、内联函数、默认参数函数以及多文件组织、编译预处理、工程文多文件组织、编译预处理、工程文件和运行
2、库函数。件和运行库函数。信息科学与工程学院第3章 函数2为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益内容安排n3.1 函数的定义与调用n3.2 函数的参数传递、返回值及函数声明n3.3 全局变量和局部变量n3.4 函数调用机制n3.5 作用域与标示符的可见性n3.6 存储类型与标示符的生命期n3.7 函数的递归调用n3.8 函数的重载、内联及默认参数信息科学与工程学院第3章 函数3为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1 函数的定义与调用n3
3、.1.1 函数概述n3.1.2 函数的定义n3.1.3 函数的调用信息科学与工程学院第3章 函数4为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.1 函数概述n函数是程序基本组成模块,可重复使用n相对独立n经常使用n可把一个复杂任务分解成为若干个易于解决的小任务,充分体现逐步细化的设计思想n使用时只考虑其功能和接口信息科学与工程学院第3章 函数5为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.1 函数概述nC+程序由若干函数组成n一般函数可调用
4、其他函数,也可被其他函数调用n其中存在一个函数称为主函数(入口函数)。入口函数是程序执行的入口,它可调用其他函数,但不可被调用nmain()nWinMain()信息科学与工程学院第3章 函数6为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.1 函数概述n函数调用层次关系信息科学与工程学院第3章 函数7main()fun2()fun1()fun3()funa()funb()func()为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.1 函数概述n
5、函数按是否系统预定义可分为n n库函数库函数(或标准函数):是由编译系统预定义的。例如:一些常用的数学计算函数、字符串处理函数、图形处理函数、标准输入输出函数等n库函数都按功能分类,集中说明在不同的头文件头文件中n用户只需在自己的程序中包含某个头文件头文件,就可直接使用该文件中定义定义(准确说是声明声明)的函数n用户根据需要将某个具有相对独立功能的程序定义为函数,称为自定义函数自定义函数信息科学与工程学院第3章 函数8为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.1 函数概述n函数按是否带有参数可分为n无参函数:不需
6、要输入参数的函数n有参函数:有输入参数的函数信息科学与工程学院第3章 函数9为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.2 函数的定义n函数定义:function definitionn函数构成n函数头:定义函数功能功能和接口接口的全部要素n函数名:the namename of the functionn函数参数:the types and number of parametersparameters(argumentsarguments)n函数返回值类型:the returnreturn typetypen函数
7、体:定义函数的算法实现n函数必须先定义后使用信息科学与工程学院第3章 函数10为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.2 函数的定义n无参函数n基本格式数据类型数据类型函数名函数名(void)函数体函数体n数据类型指函数返回值返回值类型,可是任一种数据类型,默认为返回整型值(但新标准要求写明,不用默认方式)。没有返回值应将返回值类型定义为voidvoidn函数名采用合法标识符表示n参数括号中的voidvoid通常省略,但括号不能省略n函数体由一系列语句组成(函数体可为空,称为空函数空函数)信息科学与工程学院第3
8、章 函数11void sayHello()cout=b?a:b);为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.2 函数的定义n根据参数和返回值,有4种类型函数n需要参数,并返回值n需要参数,不返回值n不需参数,但返回值n不需参数,不返回值信息科学与工程学院第3章 函数14为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.2 函数的定义n函数头用来反映函数的功能和使用接口,它所定义的是“做什么”。即,明确了“黑匣子”的输入输出部分,输入就是参数
9、,输出就是函数的返回值。只有那些功能上起自变量作用的变量才必须作为参数定义在参数表中n函数体中具体描述“如何做”,因此除参数之外的为实现算法所需用的变量定义在函数体内nC+中不允许函数的嵌套定义,即,在一个函数中定义另一个函数信息科学与工程学院第3章 函数15为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.3 函数的调用n所谓函数调用,就是使程序转去执行函数体n除主函数外,其他任何函数都不能单独作为程序运行n任何函数功能的实现都是通过被主函数直接或间接调用进行的信息科学与工程学院第3章 函数16为了规范事业单位聘用关系
10、,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.3 函数的调用n无参函数的调用格式函数名函数名()n有参函数的调用格式函数名函数名(实际参数表实际参数表)n实际参数(actual argumentsarguments)简称实参,用来将实际参数的值传递给形参,因此可是常量、具有值的变量或表达式信息科学与工程学院第3章 函数17ParametersParameters are the namesnames of the values passed to a function by a function call.Arguments Argumen
11、ts are the valuesvalues the function expects to receive.为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.3 函数的调用n调用无返回值的函数可单独成为函数调用语句,即调用格式加分号n调用有返回值的函数将产生一个数据值,因此函数调用通常出现在表达式中n返回值参与表达式计算,例如:赋值n在条件语句中直接参与逻辑运算信息科学与工程学院第3章 函数18为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.1.
12、3 函数的调用信息科学与工程学院第3章 函数19【例例3.13.1】输入两个实数,输出其中较大的数。其中求两个实输入两个实数,输出其中较大的数。其中求两个实 数中的较大数用函数数中的较大数用函数完成完成floatfloat max(max(floatfloat x,x,floatfloat y)y)returnreturn (x=y?x:y(x=y?x:y););intint main()main()floatfloat x,y;x,y;coutcout输入两个实数:输入两个实数:endl;xy;cinxy;coutxcoutx和和yy中较大数中较大数max(max(x,y)endl;x,y)
13、endl;returnreturn 0;0;为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2 函数的参数传递、返回值及函数声明n3.2.1 函数的参数传递及传值调用n3.2.2 函数返回值n3.2.3 函数声明信息科学与工程学院第3章 函数20为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.1 函数的参数传递及传值调用n函数调用首先要进行参数传递n传递的方向是由实参传递给形参n传递过程n先计算实参表达式的值n再将该值传递给对应的形参变量n一般情况
14、下,实参和形参的个数和排列顺序应一一对应,并且对应参数应类型匹配(赋值兼容)。即,实参的类型可转化为形参类型,而对应参数的参数名则不要求相同信息科学与工程学院第3章 函数21为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.1 函数的参数传递及传值调用n调用形式n n传值传值(valuevalue):传递实参实参的值值,需要复制n n引用引用(referencereference):传递实参实参的别名别名(aliasalias)信息科学与工程学院第3章 函数22为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制
15、的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.1 函数的参数传递及传值调用n传值调用n将实参实参的值复制给形参形参。当两者不匹配时,编译器将实参转化为与形参一致的类型n按参数位置对应,而不是按参数名对应n在函数中参加运算的是形参,而实参不会发生任何改变n起了一种隔离作用信息科学与工程学院第3章 函数23为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益信息科学与工程学院第3章 函数24【例例3.23.2】说明实参和形参对应关系的说明实参和形参对应关系的示例示例float float powerpower(flo
16、at float x x,int int n n)/求求x x的的n n次幂次幂float float pow=1;pow=1;while while(n-)pow*=x;n-)pow*=x;return return pow;pow;int int main()main()int int n=3;n=3;float float x=4.6;x=4.6;char char c=a;c=a;coutcoutpower(power(x,n)=x,n)=power(power(x,n)endl;x,n)endl;coutpower(c,n)=coutpower(c,n)=power(power(c,
17、n)endlc,n)endl;coutpower(n,x)=coutpower(n,x)=power(power(n,x)endln,x)endl;return return 0;0;power(4.6,3)=97.336power(4.6,3)=97.336power(a,3)=912673power(a,3)=912673power(3,4.6)=81power(3,4.6)=81为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.1 函数的参数传递及传值调用n n传地址(addressaddress)n 一种特殊的传
18、值传值方式n虽然复制的也是值,但是可直接对地址所指向的内容进行读写操作,即,无法直接隔离形参形参对实实参参的影响n包括指针指针(pointerpointer)和数组的名称数组的名称(the name of the name of the arraythe array)都可实现传地址的任务信息科学与工程学院第3章 函数25为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.2 函数返回值n对于有返回值的函数,在函数的出口处必须用returnreturn语句将要返回的值返回给调用者n格式:return 表达式表达式;n步骤n计
19、算表达式n类型转化n返回值信息科学与工程学院第3章 函数26为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.2 函数返回值n函数一旦执行到return语句便会终止函数执行,返回调用单元n对于没有返回值的函数,应将返回值类型定义为void,函数体内可没有return语句,当需要在程序指定位置退出时,可在该处放置一个:return;信息科学与工程学院第3章 函数27为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益信息科学与工程学院第3章 函数28【例例3.
20、33.3】设计函数,根据三角形的三边长求面积。设计函数,根据三角形的三边长求面积。如果不能构成三角形,给出提示如果不能构成三角形,给出提示信息信息float float TriangleArea(TriangleArea(float float a,a,float float b,b,float float c)c)if if(a+b=c)|(a+c=b)|(b+c=a)a+b=c)|(a+c=b)|(b+c=a)return return-1-1;float float s;s;s s=(a+b+c)/2;=(a+b+c)/2;returnreturn sqrt(s sqrt(s*(s-a)
21、*(s-b)*(s-c)*(s-a)*(s-b)*(s-c);int int main()main()float float a,b,c,area;a,b,c,area;cout cout输入三角形三边输入三角形三边a,b,c:endl;a,b,c:abc;cinabc;area=area=TriangleArea(aTriangleArea(a,b,c);,b,c);if if(area=area=-1-1)cout(a,b,c)cout(a,b,c)不能构成三角形!不能构成三角形!endl;endl;else elsecoutcout三角形三角形(a,b,c)(a,b,c)面积为:面积为:
22、areaendl;areaendl;return return 0;0;为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.3 函数声明n函数声明的引入n语法上对程序文件中函数的排列次序要求满足先定义后使用n但从结构化程序设计的角度,通常是先调用后定义n使用函数声明函数声明(function declarationsfunction declarations),则既符合由粗到精的思维方式,又满足了语法要求信息科学与工程学院第3章 函数29为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度
23、,保障用人单位和职工的合法权益3.2.3 函数声明n函数声明的格式 函数返回值类型函数返回值类型函数名函数名(形参表形参表);n是一条以分号结束的语句n各形参之间以逗号分隔n形参表可逐个列出每个参数的类型和参数名,也可只列出每个形参的类型,而参数名可省略信息科学与工程学院第3章 函数30为了规范事业单位聘用关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益3.2.3 函数声明n函数声明和所定义的函数必须在以下几方面完全对应一致,否则将导致编译错误n返回值类型n函数名n形参个数n形参类型n形参次序信息科学与工程学院第3章 函数31为了规范事业单位聘用
24、关系,建立和完善适应社会主义市场经济体制的事业单位工作人员聘用制度,保障用人单位和职工的合法权益信息科学与工程学院第3章 函数32【例例3.43.4】输出所有满足下列条件的正整数输出所有满足下列条件的正整数mm:10m100010m1000且且mm、mm2 2、mm3 3均为回文数均为回文数boolbool palindrome palindrome(intint););/函数原型函数原型int int main()main()intint m;m;coutcoutsetw(10)msetw(20)m*msetw(20)m*m*mendl;setw(10)msetw(20)m*msetw(20
25、)m*m*mendl;for for(m=11;m 1000;m+)m=11;m 1000;m+)if if(palindrome(palindrome(m)m)&palindrome(palindrome(m*m)m*m)&palindrome(palindrome(m*m*m)m*m*m)coutsetw(10)msetw(20)m*m coutsetw(10)msetw(20)m*m setw(20)m*m*mendl;setw(20)m*m*m 0);n 0);for for(intint j=0;j i;j+)n=n*10+digitj;j=0;j i;j+)n=n*10+digit
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 函数 ppt 课件

限制150内