清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第五讲 函数

C语言程序设计 清华大学郑莉安颖莲 第五讲函数 参考书《C程序设计》第七章 Page 1
C语言程序设计 清华大学 郑莉 安颖莲 Page 1 第五讲 函数 参考书《C程序设计》第七章

C语言程序设计 清华大学郑莉安颖莲 本讲主要内容 函数的定义 函数的调用 函数间的数据传递 变量的存储类型 ·变量的作用范围 内部函数和外部函数 Page 2
C语言程序设计 清华大学 郑莉 安颖莲 Page 2 本讲主要内容 • 函数的定义 • 函数的调用 • 函数间的数据传递 • 变量的存储类型 • 变量的作用范围 • 内部函数和外部函数

C语言程序设计 清华大学郑莉安颖莲 函数的义 语法形式 类型标识符 函数名(形式参数表) 若无参数,写void。 形式参数说明 是被初始化的内部变量, {说明部分 寿命和可见性仅限于函 语句 数内部。 若不说明类型,一律自 动按整型处理。 Page 3
C语言程序设计 清华大学 郑莉 安颖莲 Page 3 函数的定义 • 语法形式 类型标识符 函数名(形式参数表) 形式参数说明 { 说明部分 语句 } 若无参数,写void。 是被初始化的内部变量, 寿命和可见性仅限于函 数内部。 若不说明类型,一律自 动按整型处理

C语言程序设计 清华大学 郑莉安颖莲 函数的调用 ·调用前先说明函数原型: -在调用函数的说明部分按如下形式说明: 类型标识符被调用函数名(含类型说明的形参表) 调用形式 函数名(实参) 例1 嵌套调用 C语言不允许嵌套定义,但可以嵌套调用 。 递归调用 一函数直接或间接调用自身 例2 例3 Page 4
C语言程序设计 清华大学 郑莉 安颖莲 Page 4 函数的调用 • 调用前先说明函数原型: - 在调用函数的说明部分按如下形式说明: 类型标识符 被调用函数名 (含类型说明的形参表) • 调用形式 函数名(实参) • 嵌套调用 - C语言不允许嵌套定义,但可以嵌套调用 • 递归调用 - 函数直接或间接调用自身 例 1 例 2 例 3

C语言程序设计 清华大学郑莉安颖莲 丞数间的数据传递 三种传递方式 返回值 参数 全局变量 Page 14
C语言程序设计 清华大学 郑莉 安颖莲 Page 14 函数间的数据传递 ——三种传递方式 • 返回值 • 参数 • 全局变量

C语言程序设计 清华大学 郑莉安颖莲 内部函数和外部数 ·内部函数 -只能被本文件中其它函数所调用,定义形式: static类型标识符函数名(形参表) ·外部函数 可以为其它文件调用,定义形式: extern类型标识符函数名(形参表) extern缺省时隐含为外部函数 -调用文件中也要用extern说明 举例 P139例7.22 Page 15
C语言程序设计 清华大学 郑莉 安颖莲 Page 15 内部函数和外部函数 • 内部函数 - 只能被本文件中其它函数所调用,定义形式: static 类型标识符 函数名(形参表) • 外部函数 - 可以为其它文件调用,定义形式: extern 类型标识符 函数名(形参表) extern缺省时隐含为外部函数 - 调用文件中也要用extern说明 • 举例 - P139 例7.22

C语言程序设计 清华大学郑莉安颖莲 作业 。复习:第七章 ·P1417.8,7.11,7.15,7.17 预习:第九章 Page 16
C语言程序设计 清华大学 郑莉 安颖莲 Page 16 作 业 • 复习:第七章 • P141 7.8, 7.11, 7.15, 7.17 • 预习:第九章

C语言程序设计 清华大学 郑莉安颖莲 函数的返回值 通过return语句返回。 return语句只能把一个返值传递给调用函数。 。 返回值的类型为定义的函数类型,若return 语句中表达式类型与函数类型不一致,则转换 为函数类型。 。 返回值可以是数值,也可以是地址。当返值是 地址时,应该用指针接受它。 。1 无返回值的函数,定义为void类型
C语言程序设计 清华大学 郑莉 安颖莲 Page 17 函数的返回值 • 通过 return 语句返回。 • return 语句只能把一个返值传递给调用函数。 • 返回值的类型为定义的函数类型,若 return 语句中表达式类型与函数类型不一致,则转换 为函数类型。 • 返回值可以是数值,也可以是地址。当返值是 地址时,应该用指针接受它。 • 无返回值的函数,定义为 void 类型

C语言程序设计 清华大学郑莉安颖莲 函函数间的参数传递 在函数被调用时才分配形参的存储单元。 。 实参可以是常量、变量或表达式。 ·实参类型必须与形参相符。 ·传递时是传递参数值,即单向传递 例4 ·使用地址作为参数,可以返回函数处理结果。 数组作为参数时的情况。 数组元素作实参,与单个变量一样。 数组名作参数,形、实参数都应是数组名,类型要 一样,传送的是数组首地址
C语言程序设计 清华大学 郑莉 安颖莲 Page 18 函数间的参数传递 • 在函数被调用时才分配形参的存储单元。 • 实参可以是常量、变量或表达式。 • 实参类型必须与形参相符。 • 传递时是传递参数值,即单向传递。 • 使用地址作为参数,可以返回函数处理结果。 • 数组作为参数时的情况。 - 数组元素作实参,与单个变量一样。 - 数组名作参数,形、实参数都应是数组名,类型要 一样,传送的是数组首地址。 例 4

C语言程序设计 清华大学 郑莉安颖莲 使用全局变量传递数据 在所有函数之外说明的变量是全局变 量,它在所有函数中都是可见的。 利用全局变量的这个特性,可以在函 数间传递数据 注:变量的类型和作用范围
C语言程序设计 清华大学 郑莉 安颖莲 Page 19 使用全局变量传递数据 在所有函数之外说明的变量是全局变 量,它在所有函数中都是可见的。 利用全局变量的这个特性,可以在函 数间传递数据 注:变量的类型和作用范围
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四讲 数组的概念及应用.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三讲 C语言程序的基本控制结构.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二讲 C语言基础.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第一讲 预备知识(郑莉、安颖莲).pps
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第14章 C++对C的扩充.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第13章 文件.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第12章 位运算.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 指针.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第9章 预处理命令.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 函数.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第7章 数组.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第6章 循环控制.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第5章 选择结构程序设计.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 最简单的c程序设计——顺序程序设计.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第3章 数据类型、运算符与表达式.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第2章 程序的灵魂——算法.ppt
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第1章 C语言概述.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第12章 文件.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第11章 位运算.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)第10章 结构与链表.ppt
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第六讲 指针.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第七讲 查找与排序算法.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第八讲 结构与联合.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第九讲 位运算 枚举 类型定义 编译预处理.pps
- 清华大学出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第11章 结构体与共用体.ppt
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十讲 文件.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十一讲 数据结构基础(一).pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十二讲 数据结构基础(二).pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十三讲 非线性结构及数据结构应用实例.pps
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第01章 C语言概述.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第02章 数据类型.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第03章 顺序结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第04章 选择结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第05章 循环结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第06章 数组.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第07章 函数与变量作用域.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第08章 编译预处理.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第09章 指针(1/2).ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第09章 指针(2/2).ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 结构类型.ppt