C++高级语言程序设计第五章

上传人:野鹰 文档编号:2907628 上传时间:2017-07-28 格式:PPT 页数:161 大小:1.57MB
返回 下载 相关 举报
C++高级语言程序设计第五章_第1页
第1页 / 共161页
C++高级语言程序设计第五章_第2页
第2页 / 共161页
C++高级语言程序设计第五章_第3页
第3页 / 共161页
C++高级语言程序设计第五章_第4页
第4页 / 共161页
C++高级语言程序设计第五章_第5页
第5页 / 共161页
点击查看更多>>
资源描述

《C++高级语言程序设计第五章》由会员分享,可在线阅读,更多相关《C++高级语言程序设计第五章(161页珍藏版)》请在金锄头文库上搜索。

1、C+高级语言程序设计,第5章 函数北京邮电大学信息与通信工程学院,程序设计中,把具有一定功能的程序模块用函数或类来实现。,2017/8/29,北京邮电大学信息与通信工程学院,-2-,第5章 函数,内容函数定义、声明、函数的调用、函数参数传递机制函数的特殊形式,包括递归函数、内联函数、带默认参数值的函数标识符的作用域和可见性变量的存储类型和生存期,2017/8/29,北京邮电大学信息与通信工程学院,-3-,5.1 函数概述,结构化程序设计,将整个程序自顶向下分为若干个程序模块,每个模块用来实现一个特定的功能。C + 中的模块以函数和类的形式实现。函数是具有一定功能又经常使用的相对独立代码段。无论

2、是面向过程的程序设计还是面向对象的程序设计,函数都是一种实现算法的重要形式。,2017/8/29,北京邮电大学信息与通信工程学院,-4-,5.1 函数概述,函数接口(规定接口形式)函数名(命名规则与变量相同,见名知意)函数类型(返回值类型)形式参数表函数体(实现算法三种基本结构组合而成)常用的函数C+的库函数自定义的函数,2017/8/29,北京邮电大学信息与通信工程学院,-5-,5.1.1 自定义函数概述,编程者在处理具体问题时,将程序中多处使用的、实现一定功能的特定代码段定义成函数。这样的函数称为自定义函数。在同一个程序中,一个函数只能定义一次。一般是通过函数调用来使用函数。函数调用需要指

3、定函数名并且提供被调用函数所需的信息(即函数参数)。,2017/8/29,北京邮电大学信息与通信工程学院,-6-,5.1.1 自定义函数概述,例如要打印某一年某一月的月历,2017/8/29,北京邮电大学信息与通信工程学院,-7-,5.1.2 库函数概述,C+标准库提供了丰富的函数集合,可以进行常用的数学计算、字符串操作、字符操作、输入/输出、错误检查和许多其他操作。要熟悉C+标准库提供的类和函数集合,不要事事从头做起,要尽可能利用C+标准库提供的函数,以便减少程序开发的时间。这是程序设计的技巧之一。,2017/8/29,北京邮电大学信息与通信工程学院,-8-,5.1.2 库函数概述,数学库函

4、数实现常见的数学计算使用时,在程序中嵌入cmath头文件,按对应库函数的接口形式写调用语句。调用数学函数: 函数名(参数1,参数n) 例如: double x; x=sqrt(900.0); coutx;数学函数库中的多数函数都返回double类型结果。,2017/8/29,北京邮电大学信息与通信工程学院,-9-,2017/8/29,北京邮电大学信息与通信工程学院,-10-,常用数学库函数,2017/8/29,北京邮电大学信息与通信工程学院,-11-,#include #include using namespace std;int main() cout a b c;if ( (a != 0

5、) & (b*b - 4*a*c 0) ) double radical = sqrt(b*b - 4*a*c);double root1 = (-b + radical) / (2*a);double root2 = (-b - radical) / (2*a);cout Roots: root1 root2; else cout Does not have two real roots;return 0;,调用函数 或主调函数,被调函数,库函数,2017/8/29,北京邮电大学信息与通信工程学院,-12-,#include using namespace std;float CircleA

6、rea(float r);int main() / manage circle computation cout MyRadius; float Area = CircleArea(MyRadius); cout Circle has area =y?x:y; return maxv;,2017/8/29,北京邮电大学信息与通信工程学院,-15-,float CircleArea (float r) const float Pi = 3.1415;return Pi * r * r; ,5.2.1 函数的定义,函数体,返回值语句,局部变量定义,形式参数,函数类型,函数名,5.2.1 函数的定义

7、,函数名是函数体代码段的外部标识符函数定义之后,即可通过函数名调用函数。例:/ Sum(): compute sum of integers in a . bint Sum(int a, int b) int Total = 0;for (int i = a; i = b; +i) Total += i;return Total;,2017/8/29,北京邮电大学信息与通信工程学院,-16-,5.2.1 函数的定义,函数的形式参数表,简称形参表 形式: (类型1 形式参数1,类型n 形式参数n),2017/8/29,北京邮电大学信息与通信工程学院,-17-,/ Sum(): compute s

8、um of integers in a . bint Sum(int a, int b) int Total = 0;for (int i = a; i = b; +i) Total += i;return Total;,形式参数表示主调函数和被调函数之间需要交换的信息(1)传给被调函数的待处理的数据;(2)控制被调函数执行操作的信息;(3)被调函数执行的结果。形式参数表从参数的类型、个数、排列顺序上规定了主调函数和被调函数之间信息交换的形式。 float func(int k, int b, float x) return k*x+b; ,2017/8/29,北京邮电大学信息与通信工程学院,

9、-18-,5.2.1 函数的定义,如果函数之间没有需要交换的信息,也可以没有形参,形参表内写void或空着。 int Read() cout Response;return Response;,2017/8/29,北京邮电大学信息与通信工程学院,-19-,5.2.1 函数的定义,5.2.1 函数的定义,函数体是实现函数功能的代码部分变量声明完成函数功能的语句两部分从组成结构看,函数体是由程序的三种基本控制结构即顺序、选择、循环结构组合而成的。,2017/8/29,北京邮电大学信息与通信工程学院,-20-,int Sum(int a, int b) int Total = 0;for (int

10、i = a; i = b; +i) Total += i;return Total;,2017/8/29,北京邮电大学信息与通信工程学院,-21-,函数是由函数名、函数类型、形参表和函数体四部分组成的,使用时通过函数名和参数表调用函数.,例:编写一个函数cube,计算整数的立方。调用函数cube计算从1到10相邻整数的立方差。,2017/8/29,北京邮电大学信息与通信工程学院,-22-,尽可能避免在循环体内调用函数!,/计算整数的立方#include using namespace std;int cube( int ); / 函数原型声明void main()int last, cb;la

11、st=1;cout the difference of cube: endl; for ( int x = 2; x = 10; x+ ) cb=cube( x ); cout cb-last ; last=cb; cout endl;,/函数定义int cube( int y ) return y*y*y;,2017/8/29,北京邮电大学信息与通信工程学院,-23-,/ 在三个浮点中找出最大值#include using namespace std;float maximum(float x, float y, float z); / 函数原型声明void main() float a, b, c; cout a b c; /调用maximum函数,a,b,c为实际参数 cout Maximum is: maximum( a, b, c ) =y?x:y; max = max=z?max:z; return max;,5.2.1 函数的定义,注意如果没有函数原型声明,要先写函数定义,后调用函数。C+语言不允许函数嵌套定义,所有函数的定义都是自成一体,即函数体中只包含实现其自身功能的基本语句,不可包含其他函数的定义体。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号