设C为平面上给定的一条光滑(或逐段光滑)曲线,则沿曲线C有两个方向,若选定其中的一个方向作为正方向,则称曲线C为有向曲线.设曲线C有两个端点A与B,若把从A到B的方向作为曲线C的正方向,则从B到A的方向就是C的负方向,记作C-.对于简单闭曲线,其正方向是指曲线上的点P沿此方向在该曲线前进时,邻近P点的曲线内部始终位于P点的左方,与之相反的方向就是曲线的负方向,而当曲线C为圆周时,逆时针方向就是曲线......
2025-09-30
在使用函数时,要先对函数进行定义,确定它要实现的功能。函数的使用就是调用函数的过程。在函数定义和调用中,把传递给函数的值称为实际参数,把函数内部用来接收传递给函数的值的变量称为形式参数。
1.函数定义
C++中每一个函数的定义都是由4个部分组成的,即函数类型、函数名、函数参数表和函数体。其形式如下:
函数类型 函数名(函数参数表)
其中,“函数类型”决定了函数所需要的返回值类型,它可以是函数或数组之外的任何有效的C++数据类型,包括复合数据类型等。如果不需要函数有返回值(只是一个过程调用),则只要定义函数的类型为void即可。“函数名”是一个有效的C++标识符,其后面必须跟一对圆括号“()”,以区别于变量名及其他用户定义的标识名。
“函数参数表”写在括号中,各参数(函数定义中的参数称为形式参数或形参)以逗号隔开,每个参数由参数类型和参数名表示。“函数参数表”中的参数个数可以为0,但圆括号不能省略。
“函数体”由在一对花括号中的若干条语句组成,用于实现这个函数执行的功能。C++不允许在一个函数体中再定义另一个函数。
下面是一个函数的例子,它返回两个整数中较大者。函数有两个形参x和y,返回值类型为int:
函数定义中的形参是指调用此函数所需要的参数个数和类型。一般地,仅当函数被调用时,系统才会给形参分配内存单元,而调用结束后,形参所占用的内存单元又被释放。
在函数定义中,return关键字负责将后面的值作为函数的返回值,并将程序控制返回到调用此函数的位置处。若函数类型为void,函数体中就不需要return语句或者return的后面什么也没有。
注意:一旦执行return语句,函数体内return后面的语句就不再执行。
2.函数的声明
定义一个函数就是为了以后的调用,但如果函数定义在后而调用在前,就会产生编译错误。为此,必须将函数定义在前或者在调用前进行“函数的声明”。函数声明消除了函数定义的位置影响。也就是说,不管函数是在何处定义的,只要在调用前进行函数的声明,就可保证函数调用的合法性。虽然函数不一定在程序的开始就声明,但为了提高程序的可读性和保证简洁的程序结构,最好将主函数main放在程序的开头,而将函数声明放在主函数main之前。
声明一个函数的格式如下:
函数类型函数名(函数参数表);
其中,“函数类型”指出函数返回值的类型;“函数名”指出被声明的函数的名字;“函数参数表”声明该函数的形参,如同函数定义一样,“函数参数表”中的参数个数可以为0,但圆括号不能省略。
在声明函数时,“函数参数表”有两种方式:一种与函数定义时的“函数参数表”一样,给出形参名和对应的数据类型的列表;另一种方式是只给出形参的数据类型的列表。例如,对于前面定义的max函数,以下两个声明语句是等同的:(https://www.chuimin.cn)
intmax(int x,int y);
intmax(int,int);
注意:在声明函数时,不要忘记末尾的分号“;”。
3.函数的调用
调用函数时,在函数名后跟参数(调用函数时的参数称为实际参数或实参),参数用逗号隔开。调用时,将实参中的实参值逐个代入形参,这一过程称为向函数传递参数。函数调用的一般形式如下:
函数名(实际参数表);
其中,“实际参数表”与函数定义或声明时的“函数参数表”相对应,它是实际调用函数时所给定的常量、变量或表达式,且必须有确定的值。
例如:
int a=2,b=10,c;
c=max(a,b);
或
int c=max(2,10);
都是合法的调用。
注意:实参与形参的个数应相等、类型应一致,且按顺序一一对应传递数据。
在C++中,调用一个函数的方式可以有很多,例如:
相关文章
设C为平面上给定的一条光滑(或逐段光滑)曲线,则沿曲线C有两个方向,若选定其中的一个方向作为正方向,则称曲线C为有向曲线.设曲线C有两个端点A与B,若把从A到B的方向作为曲线C的正方向,则从B到A的方向就是C的负方向,记作C-.对于简单闭曲线,其正方向是指曲线上的点P沿此方向在该曲线前进时,邻近P点的曲线内部始终位于P点的左方,与之相反的方向就是曲线的负方向,而当曲线C为圆周时,逆时针方向就是曲线......
2025-09-30
但是允许在一个函数的定义中出现对另一个函数的调用,即函数的嵌套调用。图5.9函数嵌套调用与子程序嵌套类似,是在执行主函数main()中调用函数a()的语句时,转去执行函数a();在函数a()中调用函数b()时,转去执行函数b();在函数b()执行完毕,返回函数a()的继续执行;函数a()执行完毕,返回主函数main()。函数嵌套调用举例。图5.11程序运行结果统计一批数据中大于平均值的数据总数。图5.12程序运行结果......
2025-09-30
在C 语言程序中,是通过对函数的调用来执行函数体,其过程与子程序调用相似。在调用函数时,大多数情况下主调函数和被调函数之间有数据传递。图5.2程序运行结果函数调用在程序中起一个表达式或者语句的作用。在调用函数时,有3 种不同的方式。这就要求该函数必须是有返回值的。getchar 函数调用作为表达式使用,即赋值表达式的右操作。......
2025-09-30
相较于Fortran语言,C++语言的一大优势是含有丰富的外部库,可以满足各种计算需求,能大大提高开发子程序的效率。第1章已经简单介绍了使用外部库的好处,并通过一个简单的例子说明了使用外部库可以提高代码的可读性。本节以数值计算库armadillo为例来介绍如何在C++语言中调用外部库。如果没有进行这一步骤,则在运行中会弹出报错消息框并退出,而且弹出的是BLAS库的消息框。不过,在armadillo库中使用一维数组对矩阵进行初始化时是列优先的。......
2025-09-30
定义1 线性定常系统的传递函数,定义为零初始条件下,系统输出量的拉氏变换与输入量的拉氏变换之比。传递函数是复变量s的有理真分式函数,具有复变函数的所有性质。传递函数是系统或元件数学模型的另一种形式,是一种用系统参数表示输出量与输入量之间关系的表达式。传递函数与微分方程有相通性。下面举例说明求取简单环节的传递函数的步骤。......
2025-09-29
预定义的函数除了返回值之外,对参数没有任何影响,也就是说,预定义函数不会改变读者传进来的参数。调用自定义函数时,需要指定它的路径。下面介绍自定义的函数的方法。......
2025-09-30
程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2025-09-30
若z0为函数f(z)的孤立奇点,则f(z)在z0的某个去心邻域0 <|z-z0|<R内解析.由解析函数积分的闭路变形原理,对于该邻域内任意一条围绕点z0的正向简单闭曲线C,f(z) 沿C的积分取定值,下面利用该积分来定义留数.定义1 设z0(z0 ∞)为函数f(z)的孤立奇点,C为0 <|z-z0|<R内围绕z0的任一条正向简单闭曲线,称积分为f(z)在点z0处的留数(Residue),记作Res......
2025-09-30
相关推荐