中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第07章 函数与变量作用域

第7章 函数与变量作用域 C语言是通过函数来实现模块化程序设计的。 教学目的: 掌握函数的定义与调用,变量的作用域: 了解函数的嵌套与递归调用,内部、外部函数 特点,以及变量的存储特性。 2024/10/28 1
2024/10/28 1 第7章 函数与变量作用域 C语言是通过函数来实现模块化程序设计的。 教学目的: 掌握函数的定义与调用,变量的作用域; 了解函数的嵌套与递归调用,内部、外部函数 特点,以及变量的存储特性

教学内容: 7.1*函数的定义与调用 7.2函数的嵌套调用与递归调用 7.3内部函数与外部函数 7.4*内部变量与外部变量 7.5变量的存储特性 本章要点 本章作业与上机实践 2024/10/28 2
2024/10/28 2 教学内容: 7.1* 函数的定义与调用 7.2 函数的嵌套调用与递归调用 7.3 内部函数与外部函数 7.4* 内部变量与外部变量 7.5 变量的存储特性 本章要点 本章作业与上机实践

7.1*函数定义与函数调用 7.1.1函数定义 任何函数都是由函数说明和函数体两部分组成。 1.分类 根据函数有无参数,将函数分为无参函数和有参 函数。 2024/10/28 3
2024/10/28 3 7.1* 函数定义与函数调用 7.1.1 函数定义 任何函数都是由函数说明和函数体两部分组成。 1.分类 根据函数有无参数,将函数分为无参函数和有参 函数

(1)无参函数 [函数类型]函数名(void) {说明语句部分; 在新标准中,函数 可执行语句部分; 不可缺省参数表:用 } “void”表示不需要参数。 (2)有参函数 「函数类型]函数名(数据类型参数,数据类型参数2) {说明语句部分; 形参表。调用有 参函数时,由调用函 可执行语句部分: 数为形参提供实际值, } 简称为实参。 2024/10/28 4
2024/10/28 4 (1)无参函数 [函数类型] 函数名( void ) { 说明语句部分; 可执行语句部分; } (2)有参函数 [函数类型] 函数名(数据类型 参数[,数据类型 参数2.]) { 说明语句部分; 可执行语句部分; } 形参表。调用有 参函数时,由调用函 数为形参提供实际值, 简称为实参。 在新标准中,函数 不可缺省参数表;用 “void”表示不需要参数

2.函数的返回值与函数类型 C语言的函数,还可分为有返回值函数和无返回 值函数两种。 (I)有返回值函数与return语句 括号可以缺省 ①一般格式:return(返回值表达式); ②功能:返回调用函数,并将“返回值表达式” 的值带给调用函数。 注意:函数中无return语句,返回l个不确定的值。 可用“void”定义成“无(空)类型”,明确表示不返回 值。 2024/10/28 5
2024/10/28 5 2.函数的返回值与函数类型 C语言的函数,还可分为有返回值函数和无返回 值函数两种。 (1) 有返回值函数与return语句 ①一般格式: return( 返回值表达式); ②功能:返回调用函数,并将“返回值表达式” 的值带给调用函数。 注意:函数中无return语句,返回1个不确定的值。 可用“void”定义成“无(空)类型” ,明确表示不返回 值 。 括号可以缺省

(2)函数类型 ①函数类型应与return语句中“返回值表达式” 的类型一致。 如果不一致,则以函数类型为准。 ②如果缺省函数类型,则系统一律按t型处理。 良好的程序设计习惯: 为了使程序具有良好的可读性并减少出错,将 无返回值函数定义为空类型void; 同时,也不使用系统对函数类型的缺省处理 2024/10/28 6
2024/10/28 6 (2) 函数类型 ①函数类型应与return语句中“返回值表达式” 的类型一致。 如果不一致,则以函数类型为准。 ②如果缺省函数类型,则系统一律按int型处理。 良好的程序设计习惯: 为了使程序具有良好的可读性并减少出错,将 无返回值函数定义为空类型void; 同时,也不使用系统对函数类型的缺省处理

「案例7.1]定义一个求两个整数中极大值的max0函数。 /*功能:求2个整数中的较大数*/ /*形参:2个,整型 对函数的注释 /*返回值:2个整数中的较大数*/ int max(int n1,int n2) /*函数定义/ return nl>n2 nl n2); /*/ void main(void) int max(int nl,int n2); /*对被调用函数进行说明*/ int numl,num2; printf("input two numbers:") scanf("%d%d",&numl,&num2); printf("max-%d n",max(numl,num2)); 2024/10/28 7
2024/10/28 7 [案例7.1] 定义一个求两个整数中极大值的max()函数。 /*功能:求2个整数中的较大数 */ /*形参:2个,整型 */ /*返回值: 2个整数中的较大数 */ int max( int n1, int n2) /*函数定义 */ { return ( n1 > n2 ? n1 : n2); } /**/ void main( void ) { int max(int n1, int n2); /*对被调用函数进行说明*/ int num1,num2; printf("input two numbers: "); scanf("%d%d", &num1, &num2); printf("max=%d\n", max(num1, num2)); } 对函数的注释

3、说明 (1)函数定义不允许嵌套。 一个函数的定义,可以放在程序中的任意位置, 但不能在一个函数的函数体内,即不能嵌套定义。 例如:main() {. int max((.){.} } (2)空函数一函数体为空的无参函数: [函数类型] 函数名(void)X} 2024/10/28 8
2024/10/28 8 3、说明 (1)函数定义不允许嵌套。 一个函数的定义,可以放在程序中的任意位置, 但不能在另一个函数的函数体内,即不能嵌套定义。 例如:main( ) {. int max(.) {.} } (2)空函数──函数体为空的无参函数: [函数类型] 函数名( void ){ }

7.1.2函数调用与返回 1、对被调用函数的说明和函数原型 (1)函数说明的一般格式 在新标准中,采用函数原型方式,对被调用函数 进行说明: 函数类型函数名(形参表); 2024/10/28 9
2024/10/28 9 7.1.2 函数调用与返回 1、对被调用函数的说明和函数原型 (1) 函数说明的一般格式 在新标准中,采用函数原型方式,对被调用函数 进行说明: 函数类型 函数名(形参表);

(2)函数说明的两种方式 ①谁调用谁说明:函数说明语句放在调用函数的 函数体中。 例如,在[案例7.1]主函数main0中: void main(void int max(int nl,int n2); 对被调用函数进行说明 2024/10/28 10
2024/10/28 10 (2) 函数说明的两种方式 ① 谁调用谁说明:函数说明语句放在调用函数的 函数体中。 例如,在[案例7.1]主函数main()中: void main( void ) { int max( int n1, int n2); . } 对被调用函数进行说明
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第06章 数组.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第05章 循环结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第04章 选择结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第03章 顺序结构程序设计.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第02章 数据类型.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第01章 C语言概述.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课件讲稿)第五讲 函数.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四讲 数组的概念及应用.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三讲 C语言程序的基本控制结构.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二讲 C语言基础.pps
- 清华大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第一讲 预备知识(郑莉、安颖莲).pps
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第08章 编译预处理.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第09章 指针(1/2).ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第09章 指针(2/2).ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第10章 结构类型.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第11章 位运算.ppt
- 中国水利水电出版社:《C语言程序设计》课程教学资源(PPT课件讲稿)第12章 文件.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第2章 硬件设备及组建.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)序言(主讲人:青梅).ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第1章 局域网基础知识.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第3章 网络操作系统.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第4章 常见局域网实例剖析.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第5章 DNS服务器的搭建.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第6章 DHCP服务器的搭建配置与管理.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第7章 文件服务器的搭建配置与管理.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第8章 打印服务器的搭建配置与管理.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第9章 Web服务器的搭建配置与管理.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)实习实训.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第12章 VPN服务器的搭建管理.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第13章 网络故障排除.ppt
- 呼和浩特职业学院:《局域网组建管理与维护》课程教学资源(PPT课件)第10章 邮件服务器的搭建配置与管理.ppt