收藏 分享(赏)

函数是对数据进行运算和操作的重要手段在面向过程程序.ppt

上传人:hyngb9260 文档编号:8448774 上传时间:2019-06-27 格式:PPT 页数:24 大小:318.50KB
下载 相关 举报
函数是对数据进行运算和操作的重要手段在面向过程程序.ppt_第1页
第1页 / 共24页
函数是对数据进行运算和操作的重要手段在面向过程程序.ppt_第2页
第2页 / 共24页
函数是对数据进行运算和操作的重要手段在面向过程程序.ppt_第3页
第3页 / 共24页
函数是对数据进行运算和操作的重要手段在面向过程程序.ppt_第4页
第4页 / 共24页
函数是对数据进行运算和操作的重要手段在面向过程程序.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、第四章 函 数,函数是对数据进行运算和操作的重要手段。在面向过程程序设计中,函数是程序模块划分的基本单位。在面向对象程序设计中它是实现对象功能和行为的手段。,第一节 函 数(1),在数学中,经常用下面的方法表示函数:f (x,y)=x2+y+10如果,已知自变量x、y的值分别为a、b,那么,则可根据运算表达式就可以计算出f( )的值。即:f (a,b)=a2+b+10 如果用C+语言来书写这个函数(设数据类型为float型),则为:,函数名,自变量,自变量,float f (float x,float y) return (x*x+y+10);,第一节 函 数(2),在程序设计中,函数是作为一

2、个独立的程序单位写在主函数外部的。 在程序中需要使用这个函数时,需要写出函数名并用实际值或实际变量代入括号中对应的形参位置。 要代入的实际值或变量叫做实际参数(实参)。例如:,#include float f (float x,float y) float z,g; z= x*x; g=z+y+10; return g; void main() coutf (10.0,6.5)endl; float a=28.7; float b=30.5; coutf(a,b)endl; ,形参,形参,实参,实参,实参,实参,第一节 函 数(3),C+要求,函数要先定义后使用。也可以在使用这个函 前,使用函

3、数原型对这个函数进行声明,然后在其他适 当的位置对函数进行实现。函数原型的声明方法为:,函数的定义,数据类型 函数名(数据类型 形参1,数据类型 形参2,) 函数体 ,返回值类型 函数名(形参列表或形参类型列表);,第一节 函 数(4),可以给形参定义默认值。这样,在调用该函数时,如果给出了实参,则用实参初始化形参;如果没有给出实参,则使用默认值初始化形参。 注意:第一,在函数的形参列表中,默认的形参值必须从右向左顺序定义。即在有默认值的形参右边,不能出现无默认值的形参;第二,只能在声明函数原型时声明默认值。为了在实现函数时清楚起见,可以在形参列表中添加适当的注释,例如:int add (in

4、t x,int y/*y=9*/)。,带默认参数值的函数,第二节 函数的调用(1),第二节 函数的调用(2),值传递 是指当发生函数调用时,用实参的值对形参进行初始化。所以形参与实参互不干扰,也就是说,在函数中,无论形参的值发生了什么变化,都不会改变实参的值。 引用传递 C+允许为一个变量命名多个名称,也就是说可以给变量起别名,这个变量的别名就叫做该变量的引用。 如果在定义函数时,把形参名定义为实参名的引用,那么在调用该函数时,传递的就是实参本身,这样,在函数中对形参的改变也就是对实参的改变,因为形参和实参代表的是同一个变量。,函数参数的传递,数据类型&别名标识符=变量标识符;,第四节 函数的

5、重载,函数重载 使用同一个函数名称,编写了多个不同的函数。在函数名称相同时、C+会依据形参的数据类型、形参的个数,来识别函数。这样,就允许程序中可以有形参的数据类型或形参的个数不相同的多个同名函数存在。在调用时,系统会根据实参和形参的数据类型及个数的最佳匹配,自动确定调用同名函数中的哪一个函数。这个技术就叫做函数的重载。,函数的重载,第五章 程序流程控制语句,任何程序流程都可以用顺序、条件、循环三种控制结构来实现。本章主要介绍这三种基本控制结构及其在程序设计中的应用。,第一节 顺序结构,顺序结构 执行顺序与源程序中语句的书写顺序一致,没有重复和跳跃的程序结构。只有一个分号的语句叫空语句;复合语

6、句 由花括号“ ”括起来的多个语句组成,有时也叫做“语句块”。复合语句的一般形式为:, 语句1; 语句2; 语句n; ,第二节 选择结构(1),当条件满足时就做该事,否则就不做。例如:如果天下雨,带雨伞。显然“天下雨”就是“带雨伞”的条件。如果把这个意思使用伪代码来表达就是:,if结构,if(天下雨)带雨伞;,关键字,第二节 选择结构(2),二选一的选择结构 “如果天下雨,就上课;否则,去郊游。”把这句话用伪代码来表达就是:,if-else结构,if(天下雨)上课; else 郊游;,第二节 选择结构(3),switch_case结构,switch(表达式) case 常量表达式:语句组bre

7、ak;case 常量表达式2:语句组2break;case 常量表达式n:语句组nbreak;default语句组n+1,switch_case结构又叫做开关分支结构,主要是用来解决多分支的选择问题。switch-case结构的形式为:,第三节 循环结构(1),for是C+控制循环的一个关键字,它主要用于处理开始条件和结束条件均已知的循环问题。for语句的一般形式为:其中,其中表达式2是一个条件语句,当条件满足时执行循环体中的语句部分,并计算表达式3,然后再计算表达式2以判断条件是否满足,当表达式2的结果不满足条件时,则退出循环。表达式1一般用来设置循环的初始条件。,for语句,for(表达式

8、1;表达式2;表达式3)语句,第三节 循环结构(2),判断条件表达式的值,当其为真时,执行循环体的代码,然后,每完成一次循环体的工作之后,再判断条件表达式的值,为真时继续执行循环体,为假时,结束循环。,while语句,第三节 循环结构(3),do-while语句,第六章 类,本书已经对类和对象的概念做了初步介绍,本章将在此基础上,围绕封装这一特点,进一步介绍类的定义、类的数据成员、类的函数成员、友元以及如何用类来解决实际问题的基本思想方法。,第一节 抽象和封装,抽象,就是人类对事物进行分类的最基本手段。在面向对象程序设计中,抽象就是对具体问题进行概括,抽出一类对象的公共性质,并加以描述的过程。

9、对一个事物的抽象应该包括两个方面:数据抽象和代码抽象。数据抽象是用来描述事物的属性或状态的,是描述此类对象与其他类对象区别的特征量;代码抽象是用来描述某类对象的共同行为特征的,它可以使某类对象具有共同的功能。 封装就是在对事物进行整体分析后,将抽象得到的数据与函数相结合,形成一个有机的整体。,第二节 类的成员函数(1),类的成员函数是程序算法的实现部分,它描述了类的行为,同时它也是对封装的私有或保护数据成员进行操作的唯一途径。C+允许在类中只声明成员函数原型,而在类的外部实现函数。在类外定义成员函数时,在成员函数之前要使用域作用符“:”指明类的名称。具体形式为:,类成员函数的声明,返回值类型

10、类名:函数名(形参表) 函数体 ,第二节 类的成员函数(2),构造函数是特殊的类成员函数,它只在创建对象时被系统自动调用,并且只在创建对象时调用一次,并且构造函数的名称要与类名称相同。 它的作用是对类的数据成员进行初始化。 构造函数的声明方法为: 注意,函数名一定要与类名相同,且该函数无返回值类型。,构造函数,函数名(参数表);,类名:函数名(参数表) 函数体 ,在类声明外部实现构造函数的语法为:,第二节 类的成员函数(3),在类中声明的,专门用于将一个对象的数据成员复制到同类的另一个对象的构造函数。 定义拷贝构造函数的语法为:在类中声明时:在类外实现时:,拷贝构造函数,类名(类名&对象名);

11、,类名:类名(类名&对象名) 函数体 ,第二节 类的成员函数(4),析构函数是在对象即将被删除之前,由系统自动调用的特殊函数,用户可以在这个函数中做一些对象在删除之前的工作(一般常用来删除在构造函数中动态定义的变量或对象),同时系统也利用这个函数将本对象所占用的内存空间进行释放。与构造函数一样,如果用户没有定义析构函数,系统会自动提供一个缺省的析构函数。定义析构函数的一般格式为:类名();,析构函数,第三节 类的聚集(组合),如果类中使用了其他类的对象作为数据成员,那么这种做法叫做类的聚集。 在创建这个类的对象时,既要对本类的对象初始化,同时又要对内嵌对象进行初始化。于是,类的聚集的构造函数与

12、普通类的构造函数有所不同。类的聚集的构造函数的定义形式为:在该定义中,冒号后的语义为:调用对象n所属类的构造函数创建对象n,其参数取自参数总表。,类名:类名(参数总表):对象名1(参数表),对象名2(参数表), 函数体,第四节 类成员的访问控制,C+利用三个关键字:private、protected和public将类的声明分为三个区域,使得在这三个区域中声明的成员具有不同的访问控制。 可以使用C+的关键字关键字friend声明类外的某一个函数或类为类的友元函数或友元类。那么类的友元函数或友元类可以直接访问类的私有成员或保护成员。见左图所示。,class A ,class B,Funct(),friend class B; friend Funct();,类B可以访问类A,函数Funct可以访问类A,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报