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)所有的函数都要先定义,后使用(调用)