欢迎来到天天文库
浏览记录
ID:40238259
大小:801.50 KB
页数:82页
时间:2019-07-28
《C++程序设计基础杨长兴 第4章 函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计基础主编杨长兴中国水利水电出版社第4章函数4.1函数的定义和调用4.2函数的参数传递4.3函数的嵌套调用和递归调用4.4内联函数4.5变量和函数的属性4.6函数模板4.7C++常用系统函数函数概述●把一个大程序划分为若干个程序模块(小程序单位),每一个模块实现一部分功能。●不同的程序模块可以由不同的人来完成。●每个程序模块可以单独进行编译,如果发现错误,可以在本程序模块范围内查错并改正。这就是程序中为什么要运用函数的思想。●把实现某一特定功能的相关语句按某种格式组织在一起形成一个程序单块,并给程序块
2、取一个相应的名称,这样的一个程序块就叫函数(function)。●函数的调用与被调用●C++程序可以由许多函数组成。但有且只有一个主函数main()。图4.1是一个程序中函数调用和被调用的层次关系图。图4.1调用和被调用函数的层次关系main()func1()func2()func3()func5()func4()4.1函数的定义和调用4.1.1函数的定义函数定义的一般形式如下:类型标识符函数名([形式参数列表]){声明语句执行语句}“类型标识符”是一个数据类型关键字,用来定义该函数返回值的数据类型“函数名”是程
3、序员自定义的名字,可以是任何合法的标识符,一般尽量反映该函数的功能主要是声明本函数中要使用的变量以及将要调用的函数实现本函数功能,这类语句是函数体的主要内容形参可有可无,无则称为无参函数,有则是有参函数。有参函数通过参数列表列出每个参数的数据类型和参数变量名【例4.1】主函数调用comp(n)函数计算前n个自然数之和,又调用print_word函数打印一行字符。//*****ex4_1.cpp******#includeusingnamespacestd;intcomp(intn){intk,
4、s;s=0;for(k=1;k<=n;k++)s=s+k;returns;}voidprint_word(void){cout<<“ThisisanexampleforC++function!”<>n;if(n>1)cout<<“Thesumis:”<5、用。不同版本的C++编译系统提供的函数数量不一定相同,但基本函数是共同的。使用库函数必须包含相应的头文件。(2)用户自定义函数:是用户根据专门需要而自己编写的函数。(1)对库函数的声明在程序文件头用#include语句将与库函数有关的文件包含到本程序中来,就完成了对库函数的声明。(2)对自定义函数的声明须在调用某自定义函数之前写如下声明语句:函数类型关键字函数名([参数1类型,参数1名称][,参数2类型,参数2名称][…]);4.1.2函数的声明(2)对自定义函数的声明(续)也可以用下列简略式声明:函数类型关键字6、函数名([参数1类型][,参数2类型][,…]);函数类型关键字函数名([参数1类型,标识符1][,参数2类型,标识符2][,…]);C++的函数原型。其中,标识符可用任何合法名称。【例4.2】函数声明示例:设被调函数area()和volum()分别求园面积和圆柱体体积。程序代码如下://*****ex4_2.cpp*****#includeusingnamespacestd;floatadd(floatx,floaty);floatsub(float,float);doublemult(fl7、oatp,floatq);voidmain(){floata,b;cout<<"inputa,b:";cin>>a>>b;cout<8、;}说明:(1)对函数的定义和函数声明是两回事,不要混淆。(2)之所以函数原型中可以省略形式参数的名称,是因为形式参数的名称是无关紧要的,且在调用前形参并不存在。(3)函数声明语句的位置。函数声明语句可以放在主调函数中,也可放在函数外面,只要出现在调用语句之前即声明有效。4.1.3函数的返回值(1)函数的返回值是通过函数中的return语句获得的。return语句将被调用
5、用。不同版本的C++编译系统提供的函数数量不一定相同,但基本函数是共同的。使用库函数必须包含相应的头文件。(2)用户自定义函数:是用户根据专门需要而自己编写的函数。(1)对库函数的声明在程序文件头用#include语句将与库函数有关的文件包含到本程序中来,就完成了对库函数的声明。(2)对自定义函数的声明须在调用某自定义函数之前写如下声明语句:函数类型关键字函数名([参数1类型,参数1名称][,参数2类型,参数2名称][…]);4.1.2函数的声明(2)对自定义函数的声明(续)也可以用下列简略式声明:函数类型关键字
6、函数名([参数1类型][,参数2类型][,…]);函数类型关键字函数名([参数1类型,标识符1][,参数2类型,标识符2][,…]);C++的函数原型。其中,标识符可用任何合法名称。【例4.2】函数声明示例:设被调函数area()和volum()分别求园面积和圆柱体体积。程序代码如下://*****ex4_2.cpp*****#includeusingnamespacestd;floatadd(floatx,floaty);floatsub(float,float);doublemult(fl
7、oatp,floatq);voidmain(){floata,b;cout<<"inputa,b:";cin>>a>>b;cout<8、;}说明:(1)对函数的定义和函数声明是两回事,不要混淆。(2)之所以函数原型中可以省略形式参数的名称,是因为形式参数的名称是无关紧要的,且在调用前形参并不存在。(3)函数声明语句的位置。函数声明语句可以放在主调函数中,也可放在函数外面,只要出现在调用语句之前即声明有效。4.1.3函数的返回值(1)函数的返回值是通过函数中的return语句获得的。return语句将被调用
8、;}说明:(1)对函数的定义和函数声明是两回事,不要混淆。(2)之所以函数原型中可以省略形式参数的名称,是因为形式参数的名称是无关紧要的,且在调用前形参并不存在。(3)函数声明语句的位置。函数声明语句可以放在主调函数中,也可放在函数外面,只要出现在调用语句之前即声明有效。4.1.3函数的返回值(1)函数的返回值是通过函数中的return语句获得的。return语句将被调用
此文档下载收益归作者所有