第4章过程抽象——函数.ppt
《第4章过程抽象——函数.ppt》由会员分享,可在线阅读,更多相关《第4章过程抽象——函数.ppt(67页珍藏版)》请在优知文库上搜索。
1、第四章第四章 过程抽象函数过程抽象函数本章内容n4.1 子程序n4.2 C+的函数n4.3 变量的局部性和变量的生存期n4.4 函数的嵌套调用n4.5 递归函数n4.6 宏定义n4.7 内联函数n4.8 带缺省值的形式参数n4.9 函数名重载基于过程抽象的程序设计 n人们在设计一个复杂的程序时,经常会用到功能分解和复合两种手段:功能分解:在进行程序设计时,首先把程序的功能分解成若干子功能,每个子功能又可以分解成若干子功能,等等,从而形成了一种自顶向下(top-down)、逐步精化(step-wise)的设计过程。功能复合:把已有的(子)功能逐步组合成更大的(子)功能,从而形成一种自底向上(bo
2、ttom-up)的设计过程。n过程抽象:一个功能的使用者只需要知道相应功能是什么(what to do),而不必知道它是如何做(how to do)的。4.1 子程序n子程序是取了名的一段程序代码,在程序中通过名字来使用(调用)它们。n子程序的作用:减少重复代码,节省劳动力实现过程抽象(功能抽象)封装和信息隐藏的作用 语言功能的扩充 4.2 C+函数 函数函数:完成相对独立功能的子程序完成相对独立功能的子程序.标准库函数标准库函数 (由系统定义,用户可直接调用(由系统定义,用户可直接调用)自定义函数自定义函数 (用户需要时用户需要时,自己定义自己定义)C语言函数语言函数4.2.1 C+标准库函
3、数n为了方便程序设计,C+语言的每个实现往往会提供一个标准库,其中定义了一些语言本身没有提供的功能:常用的数学函数字符串处理函数以及输入/输出,等等n在C+标准库中,根据功能对定义的程序实体进行了分类,把每一类程序实体的声明分别放在一个头文件中。n在C+中,把从C语言保留下来的库函数,重新定义在名空间std中;对相应的头文件进了重新命名:*.h-c*一些标准数学函数(cmath或math.h)nint abs(int n);/int型的绝对值nlong labs(long n);/long int型的绝对值ndouble fabs(double x);/double型的绝对值ndouble s
4、in(double x);/正弦函数ndouble cos(double x);/余弦函数ndouble tan(double x);/正切函数ndouble asin(double x);/反正弦函数ndouble acos(double x);/反余弦函数ndouble atan(double x);/反正切函数ndouble ceil(double x);/不小于x的最小整数(返回值为以/double表示的整型数)ndouble floor(double x);/不大于x的最大整数(返回值为以 /double表示的整型数)ndouble log(double x);/自然对数ndoubl
5、e log10(double x);/以10为底的对数ndouble sqrt(double x);/平方根ndouble pow(double x,double y);/x的y次幂4.2.1 C+标准库函数库函数使用举例#include /相应的头文件#include /相应的头文件using namespace std;/重新定义在名空间std中;void main()double pi=3.1415926535;double x,y;x=pi/2;y=sin(x);cout sin(x )=y endl;y=cos(x);cout cos(x )=y endl;4.2.2 自定义 C+函
6、数1.函数的定义:();描述了函数返回值的类型,n可以为任意的可以为任意的C+数据类型。数据类型。n当返回值类型为当返回值类型为void时,它表示函数没有返回值。时,它表示函数没有返回值。用于标识函数的名字,用标识符表示。描述函数的形式参数,由零个、一个或多个形参说明(用逗号隔开)构成,形参说明的格式为:4.2.2 自定义 C+函数 为一个,用于实现相应函数的功能。n函数体内可以包含return语句,格式为:return;return;n当函数体执行到return语句时,函数立即返回到调用者。如果有返回值,则把返回值带回给调用者。n如果return中的的类型与函数 不一致,则进行隐式类型转换,
7、基本原则为:把转成。n注意:在函数体中不能用注意:在函数体中不能用goto语句转出函数体。语句转出函数体。4.2.2 自定义 C+函数double max(double x,double y)if(x y)return x;elsereturn y;函数定义举例:求两个浮点数中较大数4.2.2 自定义 C+函数n每个C+程序都要定义一个名字为main的函数,C+程序的执行是从main开始的。对于函数main,其返回值类型为int,例如:int main().return-1;.return 0;n一般情况下,返回0表示程序正常结束;返回负数(如1)表示程序非正常结束。2.函数main3.函数的
8、调用 n对于定义的一个函数,必须要调用它,它的函数体才会执行。n函数调用的格式如下:()实参的个数和类型应与相应函数的形参相同。类型如果不同,编译器会试图进行隐式转换,转换规则是把实参类型转换成形参类型。n注意:不能用goto语句从函数外转入函数体4.2.2 自定义 C+函数4.2.2 自定义 C+函数3.函数调用举例-1#include using namespace std;float max(float x,float y)/必须分别定义必须分别定义 float z;z=xy?x:y;return(z);void main()float a,b;int c;cinab;c=max(a,b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 抽象 函数