第5章函数 白雪飞 baixfaustc. edu.cn 中国科学技术大学电子科学与技术系 Dept of Elec. Sci. Tech, USTC Fal22003
白 雪 飞 baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系 Dept. of Elec. Sci. & Tech., USTC Fall, 2003 第5章 函 数
目录 函数概述 函数定义的一般形式 函数的调用、参数和返回值 局部变量和全局变量 变量的存储类型 ●内部函数和外部函数 C语言程序设计-第5章函数2
C语言程序设计 - 第5章 函数 2 目 录 ⚫ 函数概述 ⚫ 函数定义的一般形式 ⚫ 函数的调用、参数和返回值 ⚫ 局部变量和全局变量 ⚫ 变量的存储类型 ⚫ 内部函数和外部函数
函数( Function) C语言用函数实现程序模块化 一个程序由一个或多个源程序文件组成 一个源程序文件由一个或多个函数组成 C程序的执行从main函数开始,并回到 main函数结東 函数之间可以相互调用,或调用自身 不能调用main函数 函数之间相互独立,不存在从属关系 C语言程序设计-第5章函数
C语言程序设计 - 第5章 函数 3 函数 (Function) ⚫ C语言用函数实现程序模块化 ⚫ 一个程序由一个或多个源程序文件组成 ⚫ 一个源程序文件由一个或多个函数组成 ⚫ C程序的执行从main函数开始,并回到 main函数结束 ⚫ 函数之间可以相互调用,或调用自身 ⚫ 不能调用main函数 ⚫ 函数之间相互独立,不存在从属关系
函数定义的一般形式 函数定义形式 返回类型函数名(参数声明) 声明部分 语句 返回类型、参数、函数体内容都可没有 ■ dummy(){ /* does nothing returns nothing * C语言程序设计-第5章函数4
C语言程序设计 - 第5章 函数 4 函数定义的一般形式 ⚫ 函数定义形式 ◼ 返回类型 函数名(参数声明) { 声明部分 语句 } ⚫ 返回类型、参数、函数体内容都可没有 ◼ dummy(){} /* does nothing & returns nothing */
函数定义形式的说明 关于“返回类型” ■指函数返回值的类型 ■若省略此项,则认为返回类型是int 若无返回值,则定义返回类型为void 关于“参数声明” ■类型形参名,类型形参名, 关于“声明部分” 指变量、函数的声明 C语言程序设计-第5章函数5
C语言程序设计 - 第5章 函数 5 函数定义形式的说明 ⚫ 关于“返回类型” ◼ 指函数返回值的类型 ◼ 若省略此项,则认为返回类型是int ◼ 若无返回值,则定义返回类型为void ⚫ 关于“参数声明” ◼ 类型 形参名, 类型 形参名, ... ⚫ 关于“声明部分” ◼ 指变量、函数的声明
函数定义举例 int max (int x, int y) int z x>Y?x:yi return zi int min (int x, int y) return x<y?x: yi C语言程序设计-第5章函数6
C语言程序设计 - 第5章 函数 6 函数定义举例 int max(int x, int y) { int z; z = x>y?x:y; return z; } int min(int x, int y) { return x<y?x:y; }
函数的调用、参数和返回值 函数的参数 形参和实参 ■参数传递 函数的返回值 函数的调用 函数调用的形式 ■函数的声明和函数原型 函数的嵌套调用和递归调用 C语言程序设计-第5章函数7
C语言程序设计 - 第5章 函数 7 函数的调用、参数和返回值 ⚫ 函数的参数 ◼ 形参和实参 ◼ 参数传递 ⚫ 函数的返回值 ⚫ 函数的调用 ◼ 函数调用的形式 ◼ 函数的声明和函数原型 ◼ 函数的嵌套调用和递归调用
函数的参数( Arguments) 形式参数和实际参数 形参:定义函数时,函数名后()中的参数 ■实参:调用函数时,函数名后()中的参数 实参可以是常量、变量、表达式、函数调用 ■实参和形参必须类型相同或赋值兼容 ●举例 int max(intx,inty)/*函数定义* I return x>y?x: yi H ■max(a,3);/*函数调用*/ C语言程序设计-第5章函数8
C语言程序设计 - 第5章 函数 8 函数的参数 (Arguments) ⚫ 形式参数和实际参数 ◼ 形参:定义函数时,函数名后()中的参数 ◼ 实参:调用函数时,函数名后()中的参数 ◼ 实参可以是常量、变量、表达式、函数调用 ◼ 实参和形参必须类型相同或赋值兼容 ⚫ 举例 ◼ int max(int x, int y)/*函数定义*/ { return x>y?x:y; } ◼ max(a, 3); /*函数调用*/