第6章过程封装一一函数 函数 重载函数 自己编写函数 函数模版 函数的使用 变量的作用域 数组作为参数 变量的存储类别 带默认值的函数 递归函数 e 内联函数 基于递归的算法 司 loccs
第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数
图 函数的用途 函数是程序设计语言中最重要的部分,是模块 化设计的主要工具。每一个C++程序都要用到 函数。 即使你自己不定义新的函数,在每一个完整的 C+程序中都必须有一个main()函数。 在C++语言中,字符处理、字符串处理和数学 计算都是用函数的方式提供的。 司 LoCCS
函数的用途 函数是程序设计语言中最重要的部分,是模块 化设计的主要工具。每一个C++程序都要用到 函数。 即使你自己不定义新的函数, 在每一个完整的 C++程序中都必须有一个main() 函数。 在C++语言中,字符处理、字符串处理和数学 计算都是用函数的方式提供的
图 第6章过程封装一一函数 国 函数 ■重载函数 自己编写函数 函数模版 函数的使用 ■变量的作用域 ©数组作为参数 ■变量的存储类别 带默认值的函数 ■递归函数 内联函数 ■基于递归的算法 司 LoCCS
第6章 过程封装--函数 函数 自己编写函数 函数的使用 数组作为参数 带默认值的函数 内联函数
函数的声明 所有函数在使用前必须被声明,以便让编译器知道 用户的用法是否正确。 函数声明包括下列内容: ·函数名 ·函数的参数类型 ·函数的返回类型 © 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); int max(int,int); int max(int a,int b); 司 LoCCS
函数的声明 所有函数在使用前必须被声明,以便让编译器知道 用户的用法是否正确。 函数声明包括下列内容: • 函数名 • 函数的参数类型 • 函数的返回类型 函数的声明被称为函数的原型,它的形式为: 返回类型 函数名(参数表); int max(int, int); int max(int a, int b);
③ 函数的定义 函数定义 返回类型 函数名(形式参数表) { 语句部分 函数体 函数的返回值类型应与定义中的类型标识符一致。 C+的函数只能有一个返回值。 return返回值;或return(返回值); 例如:int max(inta,intb) if (a>b)return(a)else return(b); 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 司 LoCCS
函数的定义 函数定义 函数的返回值类型应与定义中的类型标识符一致。 C++的函数只能有一个返回值。 表示一个函数没有返回值,类型标识符用void。没有 返回值的函数也称为过程 返回类型 函数名(形式参数表) { 语句部分 } return 返回值; 或 return(返回值); 例如: int max(int a, int b) {if (a>b) return(a) else return(b); } 函数体
③ 函数的命名 函数名是一个标识符,符合标识符命名规范 函数名要有意义 ©函数名一般是一个动词短语,表示函数的行为 司 LoCcS
函数的命名 函数名是一个标识符,符合标识符命名规范 函数名要有意义 函数名一般是一个动词短语,表示函数的行为
函数说明规则 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型说明。 函数原型说明与函数首部写法上需要保持一致, 即函数类型、函数名、参数个数和参数顺序必 须相同。 如果被调函数的定义在主调函数之前,可以不 必加声明。 如果在所有函数定义之前,在函数外部已经做 了函数声明,则在主调函数中无须再作声明。 LoCCS
函数说明规则 库函数在调用前需要#include相应的头文件。 自定义的函数在调用时需要进行函数原型说明。 函数原型说明与函数首部写法上需要保持一致, 即函数类型、函数名、参数个数和参数顺序必 须相同。 如果被调函数的定义在主调函数之前,可以不 必加声明。 如果在所有函数定义之前,在函数外部已经做 了函数声明,则在主调函数中无须再作声明
③ 函数调用 #include 函数声明 int max(int a,int b); mainO) { int x,y; 函数调用 cin >x>>y; cout <max(x +5,y-3); 3 int max(int a,int b) 函数定义 if (a b)return(a);else return(b); 3 LoCcS
函数调用 #include int max(int a, int b); main() { int x, y; cin >> x >> y; cout b) return(a); else return(b); } 函数声明 函数调用 函数定义
③ 函数调用 #include 函数实现,无 须函数声明 int max(int a,int b) { if (a b)return(a);else return(b); mainO 函数调用 { int x,y; cin >>x>>y; cout <max(x+5,y-3); 3 司 LoCcS
函数调用 #include int max(int a, int b) { if (a > b) return(a); else return(b); } main() { int x, y; cin >> x >> y; cout << max(x + 5, y - 3); } 函数调用 函数实现,无 须函数声明
图 函数举例一 无参数、无返回值的函数 ©打印一个由五行组成的三角形 void printstarO 兴 { 兴兴兴 c0ut<<“*n”; 光光光光光 C0ut<<“***n”; 兴光光兴光光光 C0ut<<“****n”; 光光光光光光兴光水 C0ut<<“********n”; C0ut<<“**********n”; 3 LoCCS
函数举例— 无参数、无返回值的函数 打印一个由五行组成的三角形 * *** ***** ******* ********* void printstar() { cout << “ *\n”; cout << “ ***\n”; cout << “ *****\n”; cout << “ ********\n”; cout << “**********\n”; }