目录页 Contents 函数基础 2 数据作用域 3 递归、函数重载 4 预编译与多文件结构 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 目录页 Contents 1 2 函数基础 数据作用域 3 递归、函数重载 4 预编译与多文件结构
函数基础 口函数的定义、声明与调用 口函数间的参数传递 口内联函数 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 1 函数基础 函数的定义、声明与调用 函数间的参数传递 内联函数
函数的定义 ▣ 函数是程序设计中,对功能的抽象,是C++的基本模块 ▣ C++程序是由函数构成的(一个或多个函数) ▣ C++程序必须有且只能有一个main函数 ▣ 函数的定义 类型说明符【 函数名(形式参数列表) 函数头 { 语句 函数体 类型说明符指明本函数的类型,即函数返回值的类型,若没有返回值,可用Void http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 函数的定义 4 函数是程序设计中,对功能的抽象,是 C++ 的基本模块 C++ 程序是由函数构成的(一个或多个函数) C++程序必须有且只能有一个 main 函数 类型说明符 函数名(形式参数列表) { 语句 } 函数头 函数体 函数的定义 类型说明符 指明本函数的类型,即函数返回值的类型,若没有返回值,可用 void
函数的参数:形参 形式参数列表(简称形参) 类型说明符 变量,类型说明符 变量 函数可以有多个或0个形参 ·有多个形参时,用逗号隔开,每个形参需单独指定数据类型 如果函数不带参数,则形参可以省略,但小括号不能省 ·形参只在函数内部有效 int my_max(int x,int y) /OK int my_.max(intx,y) /ERROR ▣ 函数的返回值 通过return语句给出,如:return x+y 若没有返回值,可以不写,也可以写不带表达式的return 5 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 函数的参数:形参 5 形式参数列表(简称形参) ► 函数可以有多个或 0 个形参 ► 有多个形参时,用逗号隔开,每个形参需单独指定数据类型 ► 如果函数不带参数,则形参可以省略,但小括号不能省 ► 形参只在函数内部有效 类型说明符 变量, 类型说明符 变量, . . . . . . int my_max(int x, int y) // OK int my_max(int x, y) // ERROR 函数的返回值 ► 通过 return 语句给出,如: return x+y ► 若没有返回值,可以不写,也可以写不带表达式的 return
函数的调用与声明 ▣ 函数的调用 函数名(实参列表): 被调函数可以出现在表达式中,此时必须要有返回值 ▣ 函数的声明 类型说明符函数名(形参列表): 函数声明基本原则: 被调函数在主调函数后定义, 函数调用前须先声明,可以在主调函数中声明, 须在调用前声明;被调函数 也可以在所有函数之外声明 在主调函数前定义,则主调函 ●有时也称为函数原型 数中可以直接调用 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 函数的调用与声明 6 函数的声明 类型说明符 函数名(形参列表); ► 函数调用前须先声明,可以在主调函数中声明, 也可以在所有函数之外声明 ► 有时也称为函数原型 函数的调用 ► 被调函数可以出现在表达式中,此时必须要有返回值 函数名(实参列表); 函数声明基本原则: 被调函数在主调函数后定义, 须在调用前声明; 被调函数 在主调函数前定义,则主调函 数中可以直接调用