《C++语言程序设计》教材电子教案(PPT教学课件)第4章 函数

第4章函数 4.1函数的定义和使用 4.2函数的参数传递 4.3函数的嵌套调用 44函数的递归调用 4.5内联函数 4.6函数重载 4.7带默认形参值的函数 4.8函数的存储类别
第4章 函数 4.1 函数的定义和使用 4.2 函数的参数传递 4.3 函数的嵌套调用 4.4 函数的递归调用 4.5 内联函数 4.6 函数重载 4.7 带默认形参值的函数 4.8 函数的存储类别

第4章函数 4.1函数的定义与使用 系统库函数:需要包含相应的头文件,如# nclude< math . h 系统所提供的库函数都是完成一些通用功能的函数,在实际 的程序设计中,自己还需要编写大量完成特殊功能的函数,我们 称之为用户自定义函数 4.1.1函数的定义 函数定义的一般格式为: 函数类型函数名(形式参数表) 函数头 语句组 函数体
4.1 函数的定义与使用 系统库函数:需要包含相应的头文件,如 #include 系统所提供的库函数都是完成一些通用功能的函数,在实际 的程序设计中,自己还需要编写大量完成特殊功能的函数,我们 称之为用户自定义函数。 4.1.1 函数的定义 函数定义的一般格式为: 函数类型 函数名( 形式参数表) { 语句组 } 第4章 函数 函数头 函数体

第4章函数 例41求两个整数中较大的值的函数 #include int max(int x, int y); void maino 1主调函数 int a, b. c: cout>a>> b C= max(a, b) 函数调用语句 cout<<"a,b中较大的数是:"<<c<<endl; int max(int x, int y)- 被调函数 if(xy m=X else m=y return m 程序运行结果为: 请输入两个整数,用空格分隔:2030 a,b中较大的数是:30
例4.1 求两个整数中较大的值的函数 #include int max(int x, int y); void main() { int a,b,c; cout > a >> b; c = max(a,b); cout y) m=x; else m=y; return m; } 程序运行结果为: 请输入两个整数,用空格分隔:20 30 a,b中较大的数是:30 第4章 函数 函数调用语句 主调函数 被调函数

第4章函数 4.1函数的定义与使用 4.1.1函数的定义(续一) 1.函数类型与返回值 函数的类型就是函数返回值的类型,可以是C++中的任何数据 类型。 函数的返回值由函数体中的 return语句给出。 return语句的一般格式为 return(表达式);执行该语句时,不带回返回 或 return表达式; 值,只是返回主调函数 或 return 函数的类型要与reun语句的返回值类型相同。若不一致则以 函数类型为准,将返回值类型转换为函数类型,若不能转换,则 编译过程会出错! 若函数不需要返回值,则应将类型指定为void
4.1 函数的定义与使用 4.1.1 函数的定义(续一) 1. 函数类型与返回值 函数的类型就是函数返回值的类型,可以是C++中的任何数据 类型。 函数的返回值由函数体中的return语句给出。 return语句的一般格式为: return (表达式); 或 return 表达式; 或 return ; 函数的类型要与return语句的返回值类型相同。若不一致则以 函数类型为准,将返回值类型转换为函数类型,若不能转换,则 编译过程会出错! 若函数不需要返回值,则应将类型指定为void。 第4章 函数 执行该语句时,不带回返回 值,只是返回主调函数

第4章函数 4.1函数的定义与使用 41.1函数的定义(续二 2.函数的参数 函数通过参数接收数据。 函数头中的参数为形式参数(或形参),在函数调用时给出 的参数称为实际参数(或实参)。 实参必须是一个实际的值,而形参只有在发生实际调用时才 有具体的值。 如果不需要为函数提供数据,则可以没有参数,称之为无参 函数
4.1 函数的定义与使用 4.1.1 函数的定义(续二) 2. 函数的参数 函数通过参数接收数据。 函数头中的参数为形式参数(或形参),在函数调用时给出 的参数称为实际参数(或实参)。 实参必须是一个实际的值,而形参只有在发生实际调用时才 有具体的值。 如果不需要为函数提供数据,则可以没有参数,称之为无参 函数。 第4章 函数

第4章函数 4.1函数的定义与使用 412函数的声明与调用 函数调用的一般格式: 函数名(实际参数表) 注意:若无形参,也不必给出实参,但括号不能省略。 实参与形参个数应一致,类型要一一对应 函数原型声明:在调用函数前,对函数进行说明。通常用于 函数定义出现在函数调用之后的情况。 函数原型声明的一般格式: 丽数类型数名(形式参数表 H: double power(double, int)
4.1 函数的定义与使用 4.1.2 函数的声明与调用 函数调用的一般格式: 函数名(实际参数表) 注意:若无形参,也不必给出实参,但括号不能省略。 实参与形参个数应一致,类型要一一对应。 函数原型声明:在调用函数前,对函数进行说明。通常用于 函数定义出现在函数调用之后的情况。 函数原型声明的一般格式: 函数类型 函数名(形式参数表); 注意:函数原型中可以不写出参数名。 如:double power(double, int); 第4章 函数

第4章函数 」例42编写一个求x的n次方的函数 Include double power(double x, int n; void maino double x int n, cout>X>>n; cout<x<"的"<n<"次方是:"<< power(x,n) endi: double power(double x, int n) double a= 1.0 程序运行结果为: int i. 请输入X和N的值,用空格分隔:3.04 for(i=1;i=n;++)3的4次方是:81 a-x, return a 返回
例4.2 编写一个求x的n次方的函数 #include double power(double x, int n); void main() { double x; int n; cout > x >> n; cout << x << "的" << n << "次方是:" << power(x,n) << endl; } double power(double x, int n) { double a = 1.0; int i; for(i=1; i<=n; i++) a *= x; return a; } 程序运行结果为: 请输入X和N的值,用空格分隔:3.0 4 3的4次方是:81 第4章 函数 返 回

第4章函数 4.2函数的参数传递 根据函数的功能,函数的形参可以选择为数值、引用或指针 种形式。 42.1值传递 C+中参数的传递是单向的,即只能将实参的值传递给形参 而形参值的改变对实参没有影响 例43写一个函数交换主函数中两个变量的值 考虑:使用值传递,将需要交换的变量作为实参传递给函数 的形参,在函数体中完成交换值的过程,这种做法能否实现程序 要求?
4.2 函数的参数传递 根据函数的功能,函数的形参可以选择为数值、引用或指针 三种形式。 4.2.1 值传递 C++中参数的传递是单向的,即只能将实参的值传递给形参, 而形参值的改变对实参没有影响。 例4.3 写一个函数交换主函数中两个变量的值 考虑:使用值传递,将需要交换的变量作为实参传递给函数 的形参,在函数体中完成交换值的过程,这种做法能否实现程序 要求? 第4章 函数

第4章函数 例4.3源程序 include void swap(int x, int y) void swap(intx, int y) void maino int temp temp= x; int a, b: X=y, a=10; y= temp b=20 swap( a, b cout<<a<","<b<end;程序运行结果为: 10,20 20b temp temp emp 20y 20yx2020y 2010y 注意:值传递时,函数的实参与形参在内存中占用不同的存储空间,值只能由 实参传递给形参,而形参的变化并不会影响实参。因此不能完成程序功能
例4.3 源程序 #include void swap(int x, int y); void main() { int a, b; a = 10; b = 20; swap(a, b); cout << a << ", " << b << endl; } 程序运行结果为: 10,20 a 10 x 10 20 b 20 y x 10 20 y temp 10 x 20 20 y temp 10 x 20 10 y temp 10 void swap(int x, int y) { int temp; temp = x; x = y; y = temp; } 第4章 函数 注意:值传递时,函数的实参与形参在内存中占用不同的存储空间,值只能由 实参传递给形参,而形参的变化并不会影响实参。因此不能完成程序功能

第4章函数 4.2函数的参数传递 422使用引用 1.引用的概念 引用是一种特殊的变量,可以认为是一个变量的别名。 定义引用的一般格式: 类型说明符&引用名=变量名; 如:inta=1; int &b= a: 首先定义变量a,并初始化为1,然后定义引用b,并初始化为a, 即b是a的别名,因此a和b是同一个单元。 注意:定义引用时一定要初始化,指明该引用变量是谁的别名
4.2 函数的参数传递 4.2.2 使用引用 1. 引用的概念 引用是一种特殊的变量,可以认为是一个变量的别名。 定义引用的一般格式: 类型说明符 &引用名 = 变量名; 如: int a = 1; int &b = a; 首先定义变量a,并初始化为1,然后定义引用b,并初始化为a, 即b是a的别名,因此a和b是同一个单元。 注意:定义引用时一定要初始化,指明该引用变量是谁的别名。 第4章 函数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C++语言程序设计》教材电子教案(PPT教学课件)第3章 C++控制语句.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第2章 数据类型与表达式.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第10章 输入输出流.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 MCS-51单片机扩展技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十一章 从80286到pentium.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 MCS-51的中断系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 MCS-51内部定时器/计数器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机的内部结构.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十章 串行通信及串行通信接口8250.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第八章 输入输出接口技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 可编程中断控制器8259A.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 计算机中的中断技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 8086/8088的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)绪论.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第5章 数组与指针.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第6章 类与对象.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第7章 继承与派生.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第8章 多态性.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第9章 模板.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第1章 C++概述(主编:杨国兴、张东玲).ppt
- 大庆石化总厂职工大学:《计算机文化基础》PPT教学课件(共六章).ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第二章 计算机网络的协议与体系结构.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第六章 广域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第七章 网络互联.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第四章 数据链路层.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第五章 局域网.ppt
- 北京交通大学:《计算机通信与网络技术 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(黄彧).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第一章 概述(杨万春).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第二章 IA-32结构微处理器(80x86系列结构微处理器与8086).ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第八章 中断.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第九章 计数器与定时电路.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第六章 存储器.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第七章 输入输出.ppt
- 湘潭大学:《微型计算机系统原理及应用》课件_第三章 8086指令系统.ppt