编程基础/标准库
许多常见或标准函数,其定义已经编写完成,可以随时在任何程序中使用。它们被组织成一组函数(可以将其视为几本书),统称为标准库。许多函数被组织成多个库,例如,在大多数编程语言中,许多数学函数都已存在并被编码(并放置在库中)。这些函数由程序员编写并经过测试,以确保其能够正常工作。在大多数情况下,这些函数经过了多人的审查,以反复检查以确保它们按预期执行。我们有幸能够自信地使用这些函数,确信它们将在我们的程序中正常工作,从而为我们节省时间和金钱。
主程序必须建立在该程序中使用的函数的存在。根据编程语言的不同,有正式的方法来
- 定义函数
- 声明函数(原型是针对编译器的声明)
- 调用函数
当我们在程序中创建函数时,我们通常会在我们的源代码列表中以以下顺序看到它们
- 声明函数(原型)
- 调用函数
- 定义函数
当我们使用其他人创建的并已组织成库的函数时,我们会在程序中包含一个头文件,其中包含函数的原型。就像我们自己创建的函数一样,我们会在我们的源代码列表中以以下顺序看到它们
- 声明函数(原型在包含文件中提供)
- 调用函数(带值参数传递)
- 定义函数(它要么在头文件中定义,要么链接器程序从标准库对象区域提供实际的目标代码)
在大多数情况下,用户可以查看原型并确切地了解当调用函数时,函数的通信(参数传递)将如何进入和退出。让我们看看绝对值的数学示例。
语言 | 示例 |
---|---|
C++ | #include <cmath> std::abs(number); |
C# | Math.Abs(number);
|
Java | Java.lang.Math.abs(number)
|
JavaScript | Math.abs(number);
|
Python | abs(number)
|
Swift | abs(number)
|
为了避免使用过长的函数名,设计人员将其命名为:abs 而不是“absolute”。这似乎违反了使用有意义名称的标识符命名规则,但是,当为标准库建立标识符名称时,它们通常会缩短为所有用户都能轻松理解的名称。如果我有两个名为 apple 和 banana 的整数变量;我想将 banana 的绝对值存储到 apple 中;那么调用此函数的代码行将是
apple = abs(banana);
让我们用英语来说,将变量 banana 中存储的值传递给函数 absolute,并将从函数返回的值分配给变量 apple。因此,如果您知道原型,您通常可以正确调用函数并使用其返回值(如果有的话),而无需查看代码定义(即告诉函数如何获取答案的源代码;由其他人编写;要么包含在头文件中,要么编译并放置在对象库中;以及在集成开发环境 (IDE) 的链接步骤中链接)。
- abs
- 标准库中的一个函数,代表绝对值。
- 信心
- 对标准库函数正常工作的依赖。
- 标准库
- 已添加到编程语言中以供普遍使用的一组特定任务函数。