中国科技大学电子科学与技术系:《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语言程序设计》 第4章 数组.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第3章 C语言的基本语句 和程序结构设计.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第2章 数据类型、运算符和表达式.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第1章(1-2) C语言的程序结构.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第一章 C语言程序设计概述.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第10章 文件操作.ppt
- 中国科技大学电子科学与技术系:《C语言程序设计》 第9章 位运算.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第三篇 并行数值算法 第九章 稠密矩阵运算.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第三篇 并行数值算法 第八章 并行数值算法.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第二篇 并行算法的设计 第七章 并行算法的一般设计过程.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第二篇 并行算法的设计 第六章 并行算法的基本设计技术.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第二篇 并行算法的设计 第五章 并行算法的一般设计方法.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第二篇 并行算法的设计 第四章 并行算法的设计基础.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第四篇 并行程序设计 第十五章 并行程序设计环境与工具.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第四篇 并行程序设计 第十四章 分布存储系统并行编程.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第四篇 并行程序设计 第十三章 共享存储系统编程.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第四篇 并行程序设计 第十二章 并行程库设计基础.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第三篇 并行数值算法 第十一章 快速傅里叶变换.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第三篇 并行数值算法 第十章 线性方程组的求解.ppt
- 中国科学技术大学:《并行计算 Parallel Computing》课程教学资源(PPT课件讲稿)第一篇 并行计算的基础 第一章 并行计算机系统及结构模型、第二章 当代并行机系统、第三章 并行计算性能评测.ppt
- 中国科技大学:电子科学与技术系《C语言程序设计》 第6章 预处理.ppt
- 中国科技大学:电子科学与技术系《C语言程序设计》 第7章 指针.ppt
- 中国科技大学:电子科学与技术系《C语言程序设计》 第8章 结构体.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第一章 电子商务概述.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第二章 Internet商务.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第三章 EDI商务.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第四章 企业电子商务应用.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第五章 网上支付与安全交易.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第六章 网络营销.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第七章 电子商务与物流.ppt
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)网站设计(案例:艺海拾贝).ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第一章 概述.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第七章 数组.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第三章 简单VB程序设计.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第九章 文件.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第二章 数据与表达式.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第五章 循环结构.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第八章 过程.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第六章 常用控件与多窗体.ppt
- 高等学校计算机教材:《Visual Basic 6.0》课程教学资源(PPT课件讲稿)第十一章 VB数据库开发.ppt