欢迎来到天天文库
浏览记录
ID:1704895
大小:469.00 KB
页数:16页
时间:2017-11-13
《vc++讲义第05单元 函数》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第5单元函数本单元教学目标介绍C++函数的定义、声明和调用方法。学习要求熟练掌握C++函数的编写和调用方法,以及内联函数、函数重载和递归函数的概念。授课内容函数是C++程序的构成基础。C++程序都是由一个个函数所组成的,即便是最简单的程序,也得有一个main()函数。因此,一个C++程序无论多么复杂,规模有多么大,程序的设计最终都落实到一个个函数的设计和编写上。在C++中,函数是构成程序的基本模块,每个函数具有相对独立的功能。C++的函数有三种:主函数(即main()函数)、C++提供的库函数和用户自己定义的函数。合理地编写用户
2、自定义函数,可以简化程序模块的结构,便于阅读和调试,是结构化程序设计方法的主要内容之一。5.1定义和调用函数一个函数必须先定义后才能使用。所谓定义函数,就是编写完成函数功能的程序块。定义函数的一般格式为:<函数值类型声明><函数名>(<参数说明>){<函数体>}其中:1.函数值类型声明:即调用该函数后所得到的函数值的类型。例如,例1-2中的函数grav()的函数值的类型是double,即双精度浮点类型。函数值是通过函数体内部的return语句提供的,其格式为:return<表达式>;功能是将表达式的值作为函数值返回。在编写函数时
3、要注意用return语句提供的函数值的类型应与函数声明中的函数值类型一致,否则可能出现错误。有些函数可能没有函数值,或者说其函数值对调用者来说是不重要的。这时调用该函数实际上是为了得到运行该函数内部的程序段的其他效果。这一点与数学中的函数概念有所不同,需特别注意。如果要声明一个函数确实没有返回值,可以使用声明符void。例如主函数voidmain(){……}既没有返回值,也不需要参数。对于一个被声明为void类型的函数,编译程序如果发现在程序中用到了其返回值,或者在该函数中出现了有返回值的return语句,都会报告相应的错误信息
4、,便于检查程序是否有错。2.参数声明:C++函数的参数声明格式为:<类型><参数1>,<类型><参数2>,…,<类型><参数n>例如intarray[],intcount3.函数体:函数体本身是一个分程序,由语句和其他分程序组成。C++语句以分号“;”结束,一行上可以书写多个语句,一个语句也可以分开写在连续的若干行上(但名字、语句标识符等不能跨行书写)。C++的语句可以分为声明语句和执行语句两类,在一个函数体(或分程序中)这两种语句可以交替出现,但对某具体变量来说,应先声明,后使用。[例5-1]编写一个求阶乘n!的函数。算法:阶
5、乘n!的定义为:n!=n×(n-1)×(n-2)×...×2×1且规定0!=1。程序://Example5-1:计算阶乘n!#include//函数fac():计算阶乘longfac(intn){longresult=1L;if(n<0)return-1L;elseif(n==0)return1L;while(n>1){result*=n;n--;}returnresult;}分析:因为即使n的数值并不大(例如n=10),其阶乘值就可能超出int型数的表示范围。因此我们将fac()函数的函数值类型定为lo
6、ng类型。如果n为负数,则函数fac()返回-1L,负值在正常的阶乘值中是不会出现的,正好用作参数错误的标志。该函数定义了一个阶乘的算法。该函数一经定义,就可以在程序中多次地使用它。函数的使用是通过函数调用来实现的。在C++程序中,除了main()函数以外,任何一个函数都不能独立地在程序中存在。任一函数的执行都是通过在main()函数中直接或间接地调用该函数来引发的。调用一个函数就是执行该函数之函数体的过程。函数调用的一般形式为:<函数名>(<实参表>)函数的调用既可以出现在表达式可出现的任何地方,也可以以函数调用语句(后加分号
7、)的形式独立出现。实参表是调用函数时所提供的实在参数值,这些参数值可以是常量、变量或者表达式。调用函数时提供给函数的实参应该与函数的参数表中的参数的个数和类型一一对应。特别应该注意,C++中实参与参数变量之间数据的传递是按照“值传递”的方式进行的,函数的参数实际上是定义于函数中的局部变量,在调用函数时由实参为这些参数变量提供初值。[例5-2]阶乘函数的调用。程序//Example5-2:测试阶乘计算函数的主程序voidmain(){intn;cout<<"Pleaseinputanumberntocalculten!:";cin
8、>>n;cout<
此文档下载收益归作者所有