中国科学技术大学:《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章 C语言的程序结构.ppt
- 中国科学技术大学:《C语言》第10章 文件操作.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第3章 赋值与输入输出.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第2章 程序设计基础.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第1章 认识 Visual Basic.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第10章 电子讲稿.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第9章 程序调试与错误处理.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第8章 数据文件.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第7章 过程.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第6章 数组.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第5章 循环结构设计.ppt
- 《VB程序设计》课程教学资源(PPT课件讲稿)第4章 选择结构设计.ppt
- 《计算机网络应用基础》第8章 Intranet与电子商务.ppt
- 山东大学齐鲁软件学院:《计算机网络课程设计实验指导书》讲义.pdf
- 湖北职业技术学院:《网页设计》理论课 教学项目二十二 JavaScript中图片特效网页设计.doc
- 湖北职业技术学院:《网页设计》理论课 教学项目二十四 JavaScript中光标特效网页设计.doc
- 湖北职业技术学院:《网页设计》理论课 教学项目二十三 JavaScript文字特效网页设计.doc
- 中国科学技术大学:《C语言》第6章 预处理.ppt
- 中国科学技术大学:《C语言》第7章 指针.ppt
- 中国科学技术大学:《C语言》第8章 结构体.ppt
- 中国科学技术大学:《C语言》第9章 位运算.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第一章 总论.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第三章 词法分析.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第四章 语法分析——-自顶向下分析技术.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第五章 语法分析——-自底向上分析技术.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第六章 语义分析与目标代码生成.ppt
- 南京工业大学:《计算机编译原理》(第二版) 第八章 代码优化.ppt
- 《ASP实用技术》第8章 网络数据库应用系统集成.ppt
- 《ASP实用技术》第2章 超文本标记语言(HTML).ppt
- 《ASP实用技术》第3章 客户端脚本语言.ppt
- 《ASP实用技术》第4章 ASP技术基础.ppt
- 《ASP实用技术》第5章 ASP对象.ppt
- 《ASP实用技术》第6章 SQL与AD0组件模型.ppt
- 《ASP实用技术》第7章 ASP中的 Activex组件.ppt
- 《ASP实用技术》第1章 网络数据库应用系统概述.ppt
- 《C语言程序设计》课程教学资源:第一章 概述.ppt
- 《C语言程序设计》课程教学资源:第二章 数据类型.ppt