跳轉到內容

程式設計基礎/標準庫

來自華夏公益教科書

許多常見或標準函式,其定義已經編寫完成,可以隨時在任何程式中使用。它們被組織成一組函式(可以將其視為幾本書),統稱為標準庫。許多函式被組織成多個庫,例如,在大多數程式語言中,許多數學函式都已存在並被編碼(並放置在庫中)。這些函式由程式設計師編寫並經過測試,以確保其能夠正常工作。在大多數情況下,這些函式經過了多人的審查,以反覆檢查以確保它們按預期執行。我們有幸能夠自信地使用這些函式,確信它們將在我們的程式中正常工作,從而為我們節省時間和金錢。

主程式必須建立在該程式中使用的函式的存在。根據程式語言的不同,有正式的方法來

  1. 定義函式
  2. 宣告函式(原型是針對編譯器的宣告)
  3. 呼叫函式

當我們在程式中建立函式時,我們通常會在我們的原始碼列表中以以下順序看到它們

  1. 宣告函式(原型)
  2. 呼叫函式
  3. 定義函式

當我們使用其他人建立的並已組織成庫的函式時,我們會在程式中包含一個頭檔案,其中包含函式的原型。就像我們自己建立的函式一樣,我們會在我們的原始碼列表中以以下順序看到它們

  1. 宣告函式(原型在包含檔案中提供)
  2. 呼叫函式(帶值引數傳遞)
  3. 定義函式(它要麼在標頭檔案中定義,要麼連結器程式從標準庫物件區域提供實際的目的碼)

在大多數情況下,使用者可以檢視原型並確切地瞭解當呼叫函式時,函式的通訊(引數傳遞)將如何進入和退出。讓我們看看絕對值的數學示例。

語言 示例
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
標準庫中的一個函式,代表絕對值。
信心
對標準庫函式正常工作的依賴。
標準庫
已新增到程式語言中以供普遍使用的一組特定任務函式。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書