什麼是子程式?


子程式被定義為一組語句,可以在程式中的多個地方方便地重複使用。這種重用帶來了多種型別的節省,從記憶體空間到編碼時間。這種重用也是一種抽象,因為子程式計算的分析是由呼叫子程式的語句在程式中恢復的。

子程式的特性

子程式的特性如下:

  • 子程式只有一個入口點。

  • 在被呼叫子程式的執行過程中,呼叫者會被掛起。

  • 當被呼叫子程式的執行結束時,控制權會反覆返回給呼叫者。

子程式的型別

子程式主要分為兩種型別:

  • 過程 - 過程被定義為一個子程式,它定義引數化的計算。這些計算由單個呼叫語句執行。過程代表新的語句。例如,因為 Pascal 沒有排序語句,使用者可以開發一個過程來對記錄陣列進行排序,並在呼叫該過程的地方代替不可用的排序語句。

Pascal 過程中的一般語法如下所示

PROCEDURE Name of Procedure (formal parameter list); {local declaration section}
BEGIN
{instruction sequence}
END;
{end of procedure}

宣告意味著一個過程有兩個部分:規範和主體。過程規範以關鍵字 PROCEDURE 開始,以過程名稱或引數列表結束。引數宣告是可選的。不帶引數的過程在書寫時不使用括號。

過程體以關鍵字 BEGIN 開始,以關鍵字 END 結束,後面可以跟一個可選的過程名稱。過程體包含三個元素,例如宣告部分、可執行部分和可選的異常處理部分。

  • 函式 - 函式是一個子程式,它計算一個值。函式和過程的結構相同,不同之處在於:

    • 函式在語義上建模於數學函式。

    • 函式有 RETURN 子句。

    • 函式不產生副作用,即它既不改變其引數,也不改變在函式外部定義的任何變數。

C語言中函式的一般語法如下所示

RETURN TYPE Name of Function (formal parameter list){
   local declaration section
   ……………….
   ……………….
   instruction sequence
}

函式有兩個元素:規範和主體。函式規範以返回型別開頭,後面跟著函式名稱和引數列表。函式體以 { 開始,以 } 結束。函式體包含三個部分,例如宣告部分、可執行部分和可選的異常處理部分。

更新於:2021年10月23日

11K+ 瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.