中国水利水电出版社:《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++控制语句.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第2章 数据类型与表达式.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第1章 C++与面向对象程序概述(主编:杨国兴、张东玲).ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第10章 输入输出流.ppsx
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验九 数组(2/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验八 数组(1/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验七 循环结构程序设计(2/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验六 循环结构程序设计(1/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验三 数据类型、运算符和表达式(2/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验二 数据类型、运算符和表达式(1/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十六 位运算与文件.pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十五 结构体和共用体.pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十四 预处理命令和指针(2/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十三 预处理命令和指针(1/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十一 函数(2/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验十 函数(1/2).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)实验一 C语言程序上机步骤和C 语言程序基本结构.pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)前言(主编:刘迎春、张艳霞).pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)第十三章 文件.pdf
- 《C语言程序设计》课程教材讲义(C语言程序设计上机指导与同步训练)第十二章 位运算.pdf
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第5章 数组与指针.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第6章 类与对象.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第7章 继承与派生.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第8章 多态性.ppsx
- 中国水利水电出版社:《C++语言程序设计》课程电子教案(PPT教学课件)第9章 多态性.ppsx
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第一章 绪论(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第八章 综合(Synthesis)(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第十章 数字系统设计范例(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第二章 VHDL的基本模型结构(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第三章 VHDL的基本元素(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第四章 VHDL的基本描述语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第五章 VHDL的库、程序包和配置(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第六章 VHDL中属性的描述及定义语句(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第七章 VHDL中的重载(蔡喜平).ppt
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》PDF电子书(共四章)(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》第3章 VHDL 入门(蔡喜平).pdf
- 黑龙江大学物理科学与技术学院:《EDA教程——EDA技术及应用》VHDL语言详解(蔡喜平).pdf
- 《VISUAL C++程序设计基础》(PPT教学课件)第一章 软件设计概述.ppt