欢迎来到天天文库
浏览记录
ID:21685843
大小:338.00 KB
页数:19页
时间:2018-10-23
《《面向对象程序设计》辅导三》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《面向对象程序设计》辅导三第五章函数学习要点:函数是C++程序实现的重要机制,函数是一组功能相关语句的集合,可以实现特定的功能。函数的调用需要通过传递参数,被调用函数的结果通过返回值传递给调用函数。函数的参数有各自的作用域。学习要求:理解模块化程序设计与函数的关系,掌握函数的定义和函数原型的声明方法。掌握函数的调用机制,函数参数的类型,函数参数的传递方式,函数的返回值以及函数的作用域等。理解特殊函数的用法,能够利用递归函数来简化程序设计,利用函数重载来优化程序设计。根据给定要求编制满足功能需求的函数。学习方法引导:从模块化等程序设计的特点入
2、手,理解函数是C++程序实现的重要机制。结合具体问题,区分函数的定义与函数原型。结合实例来理解函数的调用机制,函数参数的类型,函数参数的传递方式,函数的返回值以及函数的作用域等内容,以编制满足各种功能的函数。学习内容:一、函数机制1.函数:将大的程序分成功能相对独立的小模块,每一个模块称之为函数。函数分为用户定义的函数和标准库函数两种。一个c++程序由一个main()函数和若干用户定义的函数组成。2.函数调用:主函数main()可用调用其他函数。例:voidmain(){function1;function2;}voidfunction1(
3、){function11();function12();}voidfunction2(){….}voidfunction11(){….}voidfunction12(){….}二、函数定义格式:返回类型函数名(参数表){函数体}(一)函数名l函数名:合法的函数名是由字母或下划线开始的字母、数字或下划线序列。(二)函数参数l形参:函数定义中的参数称之。例:intmax(inta,intb){…}称a和b为形参。(三)返回类型l返回类型:函数的返回类型分为有返回类型和无返回类型(void类型)两种。l若有返回类型,则在函数体中应有语句retur
4、n表达式;若无返回类型,则在函数体中要么没有return语句,要么有不带表达式的return语句。l函数类型:(1)有参数、有返回值例:intbigger(inta,intb){return(a>b)?a:b;}(2)有参数、无返回值例:voiddelay(longa){for(inti=1;i<=a;i++)}(3)无参数、有返回值例:intgetx(){intx;cout<<"pleaseinputainteger:";cin>>x;returnx;}(4)无参数、无返回值例:voidmessage(){cout<<"thisisa
5、message.";}(四)函数体函数体由语句构成,完成函数的功能。例:写一函数,求正整数n的阶乘n!。//ch52.cppdoublefact(intn){doubleretVal=1;for(inti=1;i<=n;i++)retVal*=i;returnretVal;}三、函数调用l实参:函数调用时的参数。下例中:val1,val2称为实参;x,y称为形参。例:求两个整数的最大值。intmax(intx,inty)//ch51.cpp{if(x>=y)returnx;elsereturny;}voidmain(){intval1,
6、val2;cout<<“pleaseinputtwointegers:”;cin>>val1>>val2;cout<<“themaxvalueis:”<7、调用时使用。五、函数调用的实现机制函数调用对用户来讲非常简单,但实际上为了在调用函数后能正确地使用函数参数和正确地返回到调用时的位置,必须将一些数据存储在栈中。这个处理过程称为函数调用机制。函数调用的实现机制是栈工作的机制。栈是一种先进后出的数据结构。栈空间主要由函数内部定义的变量和函数参数所占用,由于系统默认栈空间是有限制的,因此,当需要较多的内存空间时则必须在连接前设置栈空间大小。函数调用时,系统要进行如下操作:(1)建立被调用函数的栈空间。(2)保存调用函数的运行状态和返回地址。(3)将实在参数的值传递给被调用函数。(4)将程序控制交8、给被调用函数。函数调用结束时,系统要进行如下操作:(1)若函数有返回值,将函数的返回值放到一个临时的变量空间。(2)根据栈顶记录的信息,恢复调用函数的运行状态。(3)释放栈顶空间
7、调用时使用。五、函数调用的实现机制函数调用对用户来讲非常简单,但实际上为了在调用函数后能正确地使用函数参数和正确地返回到调用时的位置,必须将一些数据存储在栈中。这个处理过程称为函数调用机制。函数调用的实现机制是栈工作的机制。栈是一种先进后出的数据结构。栈空间主要由函数内部定义的变量和函数参数所占用,由于系统默认栈空间是有限制的,因此,当需要较多的内存空间时则必须在连接前设置栈空间大小。函数调用时,系统要进行如下操作:(1)建立被调用函数的栈空间。(2)保存调用函数的运行状态和返回地址。(3)将实在参数的值传递给被调用函数。(4)将程序控制交
8、给被调用函数。函数调用结束时,系统要进行如下操作:(1)若函数有返回值,将函数的返回值放到一个临时的变量空间。(2)根据栈顶记录的信息,恢复调用函数的运行状态。(3)释放栈顶空间
此文档下载收益归作者所有