专业C6讲函数ppt课件.ppt
《专业C6讲函数ppt课件.ppt》由会员分享,可在线阅读,更多相关《专业C6讲函数ppt课件.ppt(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、专业C6讲函数ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life, there is hope。有生命必有希望。有生命必有希望 (1)函数)函数 两种形式参数两种形式参数 返回值类型返回值类型 (2)运算表达式)运算表达式 (3)语句)语句第六讲第六讲 函数函数2/33概述概述 函数是程序按功能划分的基本单位,俗称子程序函数是程序按功能划分的基本单位,俗称子程序 函数有三个方面的内容:函数有三个方面的内容: 函数原型函数原型编译器检查程序中调用函数语句语法正确性的依据编译器检查程序中调用函数语句语法正确性的依据程序
2、员编写调用函数语句的依据程序员编写调用函数语句的依据 函数定义函数定义函数功能的具体实现函数功能的具体实现是连接器链接目标代码、函数库的依据是连接器链接目标代码、函数库的依据 函数调用函数调用实际使用函数,必要时需提供待加工的实际数据(被称为实际实际使用函数,必要时需提供待加工的实际数据(被称为实际参数)参数)3/33函数原型函数原型 语法格式语法格式 返回类型返回类型 函数名函数名(形式参数表形式参数表) ; 例如:例如:int rand();/ 产生随机数产生随机数double sqrt(double x);/ 算术平方根算术平方根double pow(double x, double y
3、);/ x的的y次幂次幂或只指出形参的数据类型或只指出形参的数据类型 int rand(void);/ 无形式参数无形式参数double sqrt(double);/ 一个形参一个形参(一元函数一元函数)double pow(double, double);/ 两个形参两个形参(二元函数二元函数)4/33函数定义函数定义 系统所提供的函数(标准函数)系统所提供的函数(标准函数) 已经定义且被编译成函数库文件已经定义且被编译成函数库文件 函数原型在相应的头文件中函数原型在相应的头文件中 只要包含相应的头文件,便可使用这些函数只要包含相应的头文件,便可使用这些函数但这些函数的具体定义成为黑箱但这些
4、函数的具体定义成为黑箱 例如:例如: double x=2.0, y; y = sqrt(x);sqrt函数到底是如何将函数到底是如何将2.0加工成加工成1.414的,不必关心。的,不必关心。 用户自定义函数用户自定义函数函数实现函数实现 根据算法实现具体的功能;根据算法实现具体的功能;是求解问题算法的程序语言表达。是求解问题算法的程序语言表达。5/33函数调用函数调用 将实际参数交给函数进行加工,返回一定的结果将实际参数交给函数进行加工,返回一定的结果函数的形式参数决定了对实际参数的使用方式函数的形式参数决定了对实际参数的使用方式 无参数无参数 仅某个表达式的值(包括某变量的值)传递给函数仅
5、某个表达式的值(包括某变量的值)传递给函数 将变量本身传递给函数将变量本身传递给函数函数的返回类型函数的返回类型 无返回无返回(void) 仅返回一个数值仅返回一个数值(存放在临时变量中存放在临时变量中) 返回一个变量返回一个变量 (已经存在的变量已经存在的变量) 6/333.2.1 函数的形式参数函数的形式参数 (1)无形式参数)无形式参数 调用函数时无须提供实际参数,但是表示函数调调用函数时无须提供实际参数,但是表示函数调用的圆括号不能缺少。用的圆括号不能缺少。 例如:例如:n = rand();/ 产生一个随机数产生一个随机数 (2)传值型(形式参数为定义变量)传值型(形式参数为定义变量
6、) 函数调用时,将创建形参变量,意味着函数调用时,将创建形参变量,意味着 为形式参数变量分配为形式参数变量分配自己的自己的内存空间;内存空间; 用实际参数(表达式)的值初始化形参变量;用实际参数(表达式)的值初始化形参变量; 新创建的形参变量存放在栈空间中,函数返回时销毁新创建的形参变量存放在栈空间中,函数返回时销毁(与自动变量类似);(与自动变量类似); 函数体内对形参的操作函数体内对形参的操作与实参无关与实参无关。7/333.2.1 函数的形式参数函数的形式参数 (3)引用型(形式参数为声明引用)引用型(形式参数为声明引用)函数调用时,不创建变量,形参为实参的别名,函数调用时,不创建变量,
7、形参为实参的别名,意味着:意味着: 形参不另外占用内存空间;形参不另外占用内存空间; 用实参初始化形参的引用声明;用实参初始化形参的引用声明; 引用型形参引用型形参“绑定绑定”实参实参,直至函数返回;,直至函数返回; 函数体内对形参的操作,就是对实参的操作函数体内对形参的操作,就是对实参的操作(与实参相关)。(与实参相关)。8/333.2.1 函数的形式参数函数的形式参数 综上所述综上所述函数在调用时函数在调用时,其形式参数变量的,其形式参数变量的定义定义及及初始化初始化,遵循变,遵循变量定义及初始化的规定;量定义及初始化的规定;函数在调用时函数在调用时,其形式参数引用的,其形式参数引用的声明
8、声明及及初始化初始化,遵循引,遵循引用声明及初始化的规定;用声明及初始化的规定;形式参数的生命期从函数调用时起,至函数返回时止。形式参数的生命期从函数调用时起,至函数返回时止。 函数原型中形式参数名称可以缺省,不能缺省的函数原型中形式参数名称可以缺省,不能缺省的 数据类型数据类型 传值型传值型 数据类型数据类型 & 引用型引用型9/33#include using namespace std;double power(double x, int n);int main()cout 5的的2次方为:次方为:power(5,2)endl; return 0;double power(double
9、x, int n)double val=1.0;while(n-) val = val*x;return(val);编写一个求编写一个求x的的n次方的函数次方的函数10/333.2.2 函数的返回类型函数的返回类型 函数的返回类型函数的返回类型 (1)无返回类型()无返回类型(void) (2)数值返回)数值返回数据类型数据类型 函数名函数名(参数表参数表); 函数结果存放在一个函数结果存放在一个临时变量临时变量中,该临时变量用函数调用表达式中,该临时变量用函数调用表达式本身表示;本身表示; 该临时变量在参与一次运算后被销毁。该临时变量在参与一次运算后被销毁。 (3)引用返回)引用返回数据类型
10、数据类型 & 函数名函数名(参数表参数表); 返回一个返回一个已经存在的变量已经存在的变量,该变量用函数调用表达式本身表示。,该变量用函数调用表达式本身表示。11/33例例3.2 求解一元二次方程求解一元二次方程 问题描述问题描述由于一元二次方程由于一元二次方程ax2+bx+c=0由其系数唯一确定,可由其系数唯一确定,可将方程抽象为将方程抽象为3个系数个系数a,b,c(数据类型为(数据类型为double););在实数域中,一元二次方程可能在实数域中,一元二次方程可能: 无实数根无实数根(类型类型0) 有两个相同的根有两个相同的根(类型类型1) 有两个不同的根有两个不同的根(类型类型2)需两个变
11、量需两个变量x1,x2(double型)存放方程可能的根;型)存放方程可能的根;还需要一个变量还需要一个变量flag(数据类型(数据类型int)表示方程的类型,以)表示方程的类型,以便确定便确定x1与与x2是否有意义(是否有意义(x1与与x2总是联系某内存单元总是联系某内存单元,总是有其数值的)。,总是有其数值的)。 要求设计一个函数要求设计一个函数(黑箱黑箱)根据根据a,b,c(假定(假定a0)确定确定x1,x2及及flag的值。的值。12/33函数原型设计函数原型设计 函数原型设计方案一函数原型设计方案一返回类型返回类型void。6个参数个参数 a,b,c传值型;传值型;x1,x2,fla
12、g引用型引用型void Solver(double a, double b, double c, double &x1, double& x2, int & flag); 函数原型设计方案二函数原型设计方案二返回类型返回类型int。5个参数个参数int Solver(double a, double b, double c, double &x1, double &x2);返回方程的类型返回方程的类型符号符号 & 的书写位置自由的书写位置自由 13/33函数定义(以方案二为例)函数定义(以方案二为例) #include using namespace std; int Solver(doubl
13、e a, double b, double c, double &x1, double &x2) / 函数首部函数首部 / 函数体函数体 double d = b*b 4*a*c;/ 定义变量定义变量 if(d0) return 2;/ 判别式大于判别式大于0,返回,返回2 else return 1;/ 判别式等于判别式等于0,返回,返回1 14/33 #include / 测试函数的功能测试函数的功能 using namespace std; int Solver(double a, double b, double c, double &x1, double &x2); / 函数声明函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业 C6 函数 ppt 课件
限制150内