广东海洋大学:《C++程序设计》第五章 函数

k A的外的出》净的出《的要的《图的《的气

本章要点: 区函数的概述(产生、概念、分类 区函数的定义、声明和调用 内联函数 区重载函数 区函数的嵌套调用及递归调用 区变量及函数的存储类型 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 2 函数的概述(产生、概念、分类 ) 函数的定义、声明和调用 内联函数 重载函数 函数的嵌套调用及递归调用 变量及函数的存储类型 本章要点:

§函数的概述 在早期的程序设计中,人们发现程序中经常会有大量重复的代码,为了 减少程序的书写量,常常把这些重复的代码从程序中抽出来,使其成为一个独 立的程序单位(子程序)并为其取一个名字,程序中需要这些代码的地方用相 应的名字来取代,即调用相应的子程序(又叫子函数)。 一个C+程序里包含一个主函数(即main函数)和若千个 其它函数。由主函数调用其它函数,其它函数之间也可以互 相调用。 我们用下图来说明程序,函数以及语句的关系: C++程序设计课件设计制作:徐龙琴 3
C++程序设计课件 设计制作:徐龙琴 3 §函数的概述 在早期的程序设计中,人们发现程序中经常会有大量重复的代码,为了 减少程序的书写量,常常把这些重复的代码从程序中抽出来,使其成为一个独 立的程序单位(子程序)并为其取一个名字,程序中需要这些代码的地方用相 应的名字来取代,即调用相应的子程序(又叫子函数)。 一个C++程序里包含一个主函数(即main函数)和若干个 其它函数。由主函数调用其它函数,其它函数之间也可以互 相调用。 我们用下图来说明程序,函数以及语句的关系:

nian ls b f「g「 函数:就是能够完成一定功能的程序段,由函数头和函数体 组成 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 4 ➢函数:就是能够完成一定功能的程序段,由函数头和函数体 组成

函数分类: 库函数:所谓库函数也称标准函数,由C+系统提供。能完 成一定的功能,其已编译为机器码。在h文件中提供了库函 数定义的形式(原型) ·main函数:每个 Project(工程或项目)有且只有一个main()。执 行C++程序,也就是执行相应的main()函数。 自定义函数:完成用户所需的功能 注意:函数可以被一个函数调用,也可以调用另一个函数,C++程序 中调用函数之前,首先要对函数进行定义。 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 5 ➢函数分类: ⚫ 库函数:所谓库函数也称标准函数,由C++系统提供。能完 成一定的功能,其已编译为机器码。在.h文件中提供了库函 数定义的形式(原型)。 ⚫ main函数:每个Project(工程或项目)有且只有一个main()。执 行C++程序,也就是执行相应的main()函数。 ⚫ 自定义函数:完成用户所需的功能。 注意:函数可以被一个函数调用,也可以调用另一个函数,C++程序 中调用函数之前,首先要对函数进行定义

§函数的定义、声明和调用 函数的定义格式:返回值类型函数名(形式参数表) 函数体; 返回值类型:为任意的C艹类型,也可以是oid,它表示函数没 有返回值。也可以缺省,这时系统当int解释。 函数名:为函数取得名字,应符合标识符的命名规则 C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 6 §函数的定义、声明和调用 一 函数的定义格式: 返回值类型 函数名(形式参数表) { 函数体; } 返回值类型:为任意的C++类型,也可以是void,它表示函数没 有返回值。也可以缺省,这时系统当int解释。 函数名: 为函数取得名字,应符合标识符的命名规则

形式参数表:有0个或多个形参,用于向函数传送数值或从函数带 回数值,每个参数都有自己的类型多个形参说明用逗 号隔开。形参说明的格式为:类型形参名 如果参数表列中参数个数为0,我们称之为无参函数, 无参函数可以定义为: 返回类型函数名()或返回类型函数名(void 函数体:为一个复合语句。它可以包含 returnt语句(用于该函数 的结束控制)。 return语句的两种格式:1) return(表达式); 或 return表达式; 2) return C++程序设计课件设计制作:徐龙琴 7
C++程序设计课件 设计制作:徐龙琴 7 形式参数表: 有0个或多个形参,用于向函数传送数值或从函数带 回数值,每个参数都有自己的类型多个形参说明用逗 号隔开。 形参说明的格式为:类型 形参名 如果参数表列中参数个数为0,我们称之为无参函数, 无参函数可以定义为: 返回类型函数名( ) 或 返回类型 函数名(void) {…} {…} 函数体: 为一个复合语句。它可以包含return语句(用于该函数 的结束控制)。 return语句的两种格式:1)return (表达式); 或return 表达式; 2)return;

函数定义实例: 1. void Helloo) cout0; X y米=x 函数体 retirn 函数返回 C++程序设计课件设计制作:徐龙琴 8
C++程序设计课件 设计制作:徐龙琴 8 1. void Hello( ) { cout0; --x) y*=x; return (y); } 函数名 形式参数表列 函数体 函数返回 函数定义实例:

例3:求两个浮点数和的函数 double sum(double x, double y) double sum(x, y) i double z; double x 等价 double y; Z=X+y i double z return Zi z=X+y return Zi C++程序设计课件设计制作:徐龙琴
C++程序设计课件 设计制作:徐龙琴 9 例3:求两个浮点数和的函数 double sum (double x, double y) { double z; z = x + y; return z; } double sum ( x, y) double x; double y; { double z; z = x + y; return z; } 等价

函数定义时注意点: (1)在一个函数体内允许有一个或多个 return语句,一旦执行到其中某 个 return语句时, return后面的语句就不再执行,直接返回调用位置 继续向下执行 (2)不允许函数嵌套定义,即在函数定义中再定义一个函数是非法的。 (3)定义函数时函数类型的说明,应与 return中返回值表达式的类型一致。 如果不一致,则以函数类型为准。 (4)所有的函数都要先定义,后使用(调用) C++程序设计课件设计制作:徐龙琴 10
C++程序设计课件 设计制作:徐龙琴 10 函数定义时注意点: (1)在一个函数体内允许有一个或多个return语句,一旦执行到其中某一 个return语句时,return后面的语句就不再执行,直接返回调用位置 继续向下执行。 (2)不允许函数嵌套定义,即在函数定义中再定义一个函数是非法的。 (3)定义函数时函数类型的说明,应与return中返回值表达式的类型一致。 如果不一致,则以函数类型为准。 (4)所有的函数都要先定义,后使用(调用)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 广东海洋大学:《C++程序设计》第五章练习题.ppt
- 广东海洋大学:《C++程序设计》第六章 程序结构.ppt
- 广东海洋大学:《C++程序设计》第七章练习题.ppt
- 广东海洋大学:《C++程序设计》第七章 数组.ppt
- 广东海洋大学:《C++程序设计》第八章 练习题.ppt
- 广东海洋大学:《C++程序设计》第八章 指针与引用.ppt
- 广东海洋大学:《C++程序设计》结构中的有关例题.doc
- 广东海洋大学:《C++程序设计》第10章 结构体.ppt
- 广东海洋大学:《C++程序设计》第10章 练习题.ppt
- 广东海洋大学:《C++程序设计》第11章 类与对象的练习题.ppt
- 广东海洋大学:《C++程序设计》第11章 类与对象.ppt
- 广东海洋大学:《C++程序设计》第12章 继承与派生类.ppt
- 广东海洋大学:《C++程序设计》第12章的练习题.ppt
- 广东海洋大学:《C++程序设计》第16章 异常处理.ppt
- 广东海洋大学:《C++程序设计》第15章 模板的使用.ppt
- 广东海洋大学:《C++程序设计》第14章 输入输出流.ppt
- 广东海洋大学:《C++程序设计》_第13章运算符重载.ppt
- 广东海洋大学:《C++程序设计》实验10 类和对象的答案.doc
- 广东海洋大学:《C++程序设计》实验9 类和对象.doc
- 广东海洋大学:《C++程序设计》实验9 类和对象.doc
- 广东海洋大学:《C++程序设计》函数的调用过程.ppt
- 广东海洋大学:《C++程序设计》第四章 过程化语句.ppt
- 广东海洋大学:《C++程序设计》_第四章练习题(流程控制语句).ppt
- 广东海洋大学:《C++程序设计》第三章 表达式和语句.ppt
- 广东海洋大学:《C++程序设计》第二,三章题(数据类型运算符表达式).ppt
- 广东海洋大学:《C++程序设计》第二章 数据类型与输入输出.ppt
- 广东海洋大学:《C++程序设计》第一章 C++入门.ppt
- 广东海洋大学:《C++程序设计》VC++6.0简介.ppt
- 广东海洋大学:《C++程序设计》第一章练习题.ppt
- 广东海洋大学:《C++程序设计》期末考卷A.doc
- 广东海洋大学:《C++程序设计》期末考卷B.doc
- 广东海洋大学:《C++程序设计》复习.ppt
- 广东海洋大学:《C++程序设计》考题.doc
- 广东海洋大学:《C++程序设计》复习续.doc
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第一讲 Java语言概述(1).ppt
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第一讲 Java语言概述(2).ppt
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第十讲 继承(2).ppt
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第十一讲 接口.ppt
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第十二讲 内部类(1).ppt
- 辽宁经济职业技术学院:《JAVA语言概述》课程教学资源(PPT课件讲稿)第十三讲 内部类(2).ppt