1. 您的位置:首页 > 站群资讯 >内容

程序中的函数(编程中的函数是什么)

程序中的函数应用过程抽象是用编程语言开发北京网站的一个重要的里程碑概念。过程抽象意味着一系列的语句可以被写入程序中带有名字和参数的子程序,然后在必要的地方被调用。实现了计算过程的抽象和代码的重用。

人们在解决复杂问题时,通常采用逐步分解和分而治之的方法,即把一个大的复杂问题分解成几个更容易解决的小问题,然后分别解决。类似地,当程序员设计一个复杂的程序时,他们通常将整个程序分成几个具有相对单一和独立功能的子程序,然后分别实现它们,最后像构建块一样组装所有子程序。

过程和函数是两种不同的子程序。过程是一系列参数化计算的语句,通常没有返回值。函数在结构上类似于过程,但是函数通常有返回值。在C、C和其他语言中,过程和函数被统一为函数。

在程序中使用函数时,有必要定义函数并调用函数。每种编程语言都为函数定义和调用提供了相应的规则。函数定义描述函数做什么和如何做,函数调用使用定义的函数。

1.函数定义

函数的定义通常由两部分组成,即:函数头和函数体。函数头给出了一个解释如何使用函数的契约;P数字体用语句描述函数的具体函数和实现细节。函数定义的一般格式是:

键入返回值的函数名(参数表),/函数头

{

功能体;

{}

数字头描述了函数返回值的数据类型、函数的名称、函数运行所需的参数(称为形式参数)及其类型。函数实现的功能在函数体中描述。

2.函数调用

当一个函数(称为调用函数)需要使用另一个函数(称为被调用函数)已经实现的函数时,通过名称和参数调用它,这称为函数调用。当使用一个函数时,您只需要知道如何调用它,并且您不需要关心被调用函数的内部实现。因此,调用函数需要给出被调用函数的名称,传递给被调用函数的参数(实际参数),以及如何处理返回值。

函数调用的一般形式是:

函数名(参数表);

当调用一个函数时,系统需要做一系列的处理,包括保存站点、传递参数、将控制权转移给被调用的函数等。调用完成后,它需要恢复站点,传递返回值,并将控制转移回调用函数。

表7-4是一个函数定义和函数调用的例子,其中幂函数是求实数x的k次幂。

函数调用的含义如图7-7所示,调用函数的调用者在它的语句“y=幂(a,4);”函数幂被调用。因此,在调用方执行过程中,当调用函数时,参数a和4的值被传递给形式参数x和k,控制流调度器函数power开始执行。当遇到返回p时,计算返回值,并且功率执行结束。之后,控制流返回调用函数调用程序,并将返回值传递给Y,然后执行“Y=幂(a,4);”后续声明。

3.参数和参数传递

当在程序中使用一个函数时,参数在调用函数和被调用函数之间起到信息传递的作用。通常有两种类型的参数:形式参数和实际参数。形式参数(简称参数)在定义函数时出现在函数头,并以代表某些量的特征参数的形式出现。实际参数(简称参数)出现在函数调用中,它们对应于形式参数的具体内容。

例如,在前面的函数幂的定义中,函数头是“双幂(双x,intk)”,其中x和k是形式参数。该函数调用电源(3。5,4)来计算3。54、3.5和4是实际参数,函数调用幂(a,m)来计算am,a和m是实际参数,因此实际参数变量a的值需要传递给参数x,而实际参数变量m的值需要传递给参数K.那个。ar

函数的实际参与参数是对应的。实现函数调用时,实际参数应该向形式参数传递一个值。参数传递是指在调用函数时实际参与参数的匹配动作。如果值从实际参数传递到形式参数,则相应的调用称为最优调用;如果您传递一个参数的地址(或者通过引用传递它),它被称为引用调用。下面以两个整数变量之间交换值的函数It为例,简要说明了参数传递的逐值调用和引用调用方式,其中swapl使用逐值调用,swap2使用引用调用,它们的定义和调用见表7-5。

在按值调用模式中,形式参数将获得实际参数的值。这样,形式参数对应于不同的存储单元。以函数swapl为例,在函数调用语句swapl(a,b)执行之前,系统没有为形式参数分配存储单元,如图7-8(a)所示。执行函数调用语句时,系统为形式参数x和y分配存储单元,实际参数a和b的值分别传递给形式参数x和y。当函数swapl被执行时,x和y的值被交换,但是此时,x与a无关,y与b无关,所以a和b的值不被交换,如图7-8 (c)所示。实际上,在被调用的函数被执行后,系统会回收形式参数的存储空间。

在引用调用模式下,形式参数代表实际参数的存储位置,它可以看作是实际参数的存储位置的同义词。因此,在swap2中,交换x和y的值相当于交换a和b的值,a和b的值的交换是在调用。

4.标准库函数

编写程序时,没有必要,也不应该从头开始。相反,它应该充分利用以前的成就来提高发展的速度和质量。因此,每种编程语言在发布时都包含一些随编程环境提供的函数库,程序员在开发程序时可以调用这些函数库,比如C语言的标准库。编译器开发人员和第三方提供的函数库已经实现了许多通用或通用的功能,在准确性、效率和可移植性方面得到了更好的保证。

存储在函数库中的函数称为库函数,它有明确的函数、填充参数和返回值。

函数库以文件形式提供。例如,带有lib或dll扩展名的文件通常是某种函数库。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.botadmin.cn/changjianwenti/22192.html