欢迎来到天天文库
浏览记录
ID:40238239
大小:1.04 MB
页数:99页
时间:2019-07-28
《C++程序设计(第二版)杨长兴 第3章 函数和编译预处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计(第二版)主编杨长兴刘卫国中国水利水电出版社第3章函数和编译预处理3.1函数概述3.2函数的定义和调用3.3函数的参数传递3.4函数的嵌套调用和递归调用3.5内置函数3.6变量和函数的属性3.7编译预处理3.1概述把一个大程序划分为若干个程序模块(小程序单位),每一个模块实现一部分功能。不同的程序模块可以由不同的人来完成。每个程序模块可以单独进行编译,如果发现错误,可以在本程序模块范围内查错并改正。这就是程序中运用函数的思想。把实现某一特定功能的相关语句按某种格式组织在一起形成一个程序单位,并给程序单位取一个相应的名称,这样的一个程序单位就
2、叫函数(function)。函数有时也被称作例程或过程;而给程序单位所起的相应名称被称作函数名。任何程序必须有一个、且只有一个主函数main();但可以有n个自定义函数(n≥0)。图3.1是一个程序中函数调用的示意图。图3.1main()func1()func2()func3()func5()func4()例3.1在主函数中调用其他函数。//*****ex3_1.cpp*****#includeusingnamespacestd;doubleS1,S2;//定义变量S1和S2分别存放两数和与两数积doubleadd(doublex,d
3、oubley)//定义add()函数{S1=x+y;returnS1;}doublemultiply(doublex,doubley)//定义multiply()函数{S2=x*y;returnS2;}voidoutput(void)//定义output()函数{cout<<"两数和S1="<>a>>b;S1=add(a,b);//调用add()函数S2=multiply(a,b);
4、//调用multiply()函数output();//调用Output()函数}若用户从键盘输入的数是9.05.0,则运行结果如下:请输入两个数:9.05.0↙两数和S1=14,两数积S2=45从用户使用的角度看,函数有两种:(1)系统函数,即库函数。这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们。(2)用户自己定义的函数。用以解决用户的专门需要。从函数的形式看,函数分两类:(1)无参函数。调用函数时不必给出参数。(2)有参函数。在调用函数时,要给出参数。在主调函数和被调用函数之间有数据传递。3.2函数的定义和调用3.2.1定义函数的一
5、般形式定义函数的一般形式如下:类型标识符函数名([形式参数列表]){声明语句执行语句}(1)对库函数的声明在程序文件头用#include语句将与库函数有关的文件包含到本程序中来,就完成了对库函数的声明。(2)对自定义函数的声明须在调用某自定义函数之前写如下声明语句:函数类型关键字函数名([参数1类型,参数1名称][,参数2类型,参数2名称][…]);3.2.2函数的声明(2)对自定义函数的声明(续)也可以用下列简略式声明:函数类型关键字函数名([参数1类型][,参数2类型][,…]);函数类型关键字函数名([参数1类型,标识符1][,参数2类型,标识符2
6、][,…]);C++的函数原型。其中,标识符可用任何合法名称。3.2.2函数的声明【例3.2】函数声明示例:设被调函数area()和volum()分别求园面积和圆柱体体积。程序代码如下://*****ex3_2.cpp*****#includeusingnamespacestd;voidmain(){doublevolum(float,float);//声明求圆柱体体积的volum()函数doublearea(floatr);//声明求园面积的area()函数floatr,h;doubles,v;cout<<"pleaseinputr
7、,h:";cin>>r>>h;s=area(r);v=volum(r,h);cout<<"s="<
8、.02.0↙s=314,v=628说明:(1)对函数的定义和函数声明是两回事,不
此文档下载收益归作者所有