中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第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语言程序设计语言》课程教学资源(PPT课件)第4章 数组.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第3章 C语言的基本语句和程序结构设计.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第2章 数据类型、运算符和表达式.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)概述(白雪飞).ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第10章 文件操作.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第1章 C语言的程序结构(白雪飞).ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_实验指导.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_作业习题.docx
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第09章 预处理命令.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第08章 函数.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第07章 数组.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第06章 循环控制.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第05章 逻辑运算和判断选取控制.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第04章 最简单的C程序.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第03章 数据类型、运算符与表达式.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第02章 算法——程序的灵魂.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第01章 概述(孙友仓).ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第13章 文件.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第12章 位运算.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源(PPT课件)第11章 结构体和共用体.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第6章 预处理.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第7章 指针.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第8章 结构体.ppt
- 中国科学技术大学:《C语言程序设计语言》课程教学资源(PPT课件)第9章 位运算.ppt
- 西安石油大学计算机学院:《程序设计语言(C语言)》课程教学资源_精品课程申报表.doc
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源_教学大纲.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源_实验大纲.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验一 顺序程序设计与调试.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验二 分支程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验三 循环程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验四 子程序设计.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验五 并行接口芯片8255的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验六 中断控制器8259 的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验七 定时、计数器8253的应用.pdf
- 西安石油大学:《微机原理与应用 Principle and Application of Microcomputer》精品课程教学资源(实验讲义)实验八 接口综合应用.pdf
- 西安石油大学计算机学院:《数字逻辑 Digital Logic》精品课程教学资源(教学大纲)《数字逻辑(Ⅰ)》课程教学大纲.pdf
- 西安石油大学计算机学院:《数字逻辑 Digital Logic》精品课程教学资源(教学大纲)《数字逻辑(Ⅱ)》课程教学大纲.pdf
- 西安石油大学计算机学院:《数字逻辑 Digital Logic》精品课程教学资源(打印版)数字逻辑(Ⅰ)实验大纲.pdf
- 西安石油大学计算机学院:《数字逻辑 Digital Logic》精品课程教学资源(打印版)数字逻辑(Ⅰ)实验指导书(学生用).pdf
- 西安石油大学计算机学院:《数字逻辑 Digital Logic》精品课程教学资源(打印版)数字逻辑(Ⅱ)实验指导书.pdf