中国科技大学:《C语言程序设计》第5章 函数

第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); /*函数调用*/

参数传递 值传递 实参对形参的数据传递是“值传递 单向传递 只能把实参的值传递给形参 ■不能把形参的值传递给实参 ■对形参的值所作的改变不能带回给实参 实参和形参是不同的变量 ■具有不同的存储空间 具有不同的生存期和作用域 C语言程序设计-第5章函数9
C语言程序设计 - 第5章 函数 9 参数传递 ⚫ 值传递 ◼ 实参对形参的数据传递是“值传递” ⚫ 单向传递 ◼ 只能把实参的值传递给形参 ◼ 不能把形参的值传递给实参 ◼ 对形参的值所作的改变不能带回给实参 ⚫ 实参和形参是不同的变量 ◼ 具有不同的存储空间 ◼ 具有不同的生存期和作用域

参数传递举例(05-01.c void swap(int x, int y) Y int t: 七 void main () 1 int a=l, b=4 swap(a, b)i C语言程序设计-第5章函数10
C语言程序设计 - 第5章 函数 10 参数传递举例 (05-01.C) void swap(int x, int y) { int t; t=x, x=y, y=t; } void main() { int a=1, b=4; swap(a, b); } 1 a 4 b 1 x 4 y 4 1
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科技大学:《C语言程序设计》第10章 文件操作.ppt
- 中国科技大学:《C语言程序设计》第6章 预处理.ppt
- 中国科技大学:《C语言程序设计》第4章 数组.ppt
- 中国科技大学:《C语言程序设计》第2章 数据类型、运算符和表达式.ppt
- 中国科技大学:《C语言程序设计》第1章 C语言的程序结构.ppt
- 高职高专规划教材:《计算机组装维护与维修》第3章 中央沁理器.ppt
- 高职高专规划教材:《计算机组装维护与维修》第6章 系统总线接口.ppt
- 高职高专规划教材:《计算机组装维护与维修》第4章 外围芯片组.ppt
- 高职高专规划教材:《计算机组装维护与维修》第5章 内存.ppt
- 高职高专规划教材:《计算机组装维护与维修》第7章 磁盘存储器.ppt
- 高职高专规划教材:《计算机组装维护与维修》第8章 显示统.ppt
- 高职高专规划教材:《计算机组装维护与维修》第2章 微机主板.ppt
- 高职高专规划教材:《计算机组装维护与维修》第9章 PC电源、键盘标和光驱.ppt
- 高职高专规划教材:《计算机组装维护与维修》第10章 系统功能.ppt
- 高职高专规划教材:《计算机组装维护与维修》第11章 微机系统硬件安装.ppt
- 高职高专规划教材:《计算机组装维护与维修》第15章 软件系统的故障与维护.ppt
- 高职高专规划教材:《计算机组装维护与维修》第14章 硬件系统的故障与维修.ppt
- 高职高专规划教材:《计算机组装维护与维修》第12章 微机系统软件安装.ppt
- 高职高专规划教材:《计算机组装维护与维修》第16章 微机外及维修.ppt
- 高职高专规划教材:《计算机组装维护与维修》第13章 微机的操作和维护较件.ppt
- 中国科技大学:《C语言程序设计》第7章 指针.ppt
- 中国科技大学:《C语言程序设计》第9章 位运算.ppt
- 中国科技大学:《C语言程序设计》第8章 结构体.ppt
- 中国科技大学:《C语言程序设计》第一章 概述.ppt
- 中国科技大学:《C语言程序设计》第二章 数据类型、运算符和表达式.ppt
- 中国科技大学:《C语言程序设计》第六章 预处理.ppt
- 中国科技大学:《C语言程序设计》第五章 函数.ppt
- 中国科技大学:《C语言程序设计》第七章 概述.ppt
- 中国科技大学:《C语言程序设计》第八章 结构体(与共用体).ppt
- 中国科技大学:《C语言程序设计》第十章 位运算.ppt
- 中国科技大学:《C语言程序设计》第3章 C语言的基本语句和程序结构设计.ppt
- 中国科技大学:《C语言程序设计》第三章 语句与控制流.ppt
- 中国科技大学:《C语言程序设计》第九章 文件.ppt
- 中国科技大学:《C语言程序设计》第四章 数组.ppt
- 《电子商务基础与应》(第四版) 第十二章 电子商务安全管理.ppt
- 《操作系统》课程教学资源(PPT课件)第四章 存储器管理.ppt
- 《操作系统》课程教学资源(PPT课件)第三章 处理机调度与死锁.ppt
- 《操作系统》课程教学资源(PPT课件)第二章 进程管理.ppt
- 《操作系统》课程教学资源(PPT课件)第一章 操作系统引论.ppt
- 电子信息与控制工程学院:《MATLAB语言基础》第二讲 matlab 的数值计算.ppt