函數分類
發布時間:2014/6/7 20:39:42 訪問次數:1863
函數是構成程序的主要部分,IPD04N03LA是程序設計的核心。模塊化程序設計允許將問題分解為多個函數模塊,每個函數完成特定的功能,這些函數最終通過相互調用而組合為整個程序。
所有的函數在定義時都是相互獨立的,函數中不能定義其他函數,即不能嵌套定義,但函數可以相互調用,習慣上把調用者稱為主調函數。函數還可以自己調用自己,稱為遞歸調用。函數調用的一般規則是:主函數可以調用其他普通函數,普通函數間可以相互調用,但普通函數不能調用主函數。
函數分類
可以從不同角度對函數分類。
(1)從函數定義的角度看,函數可分為標準庫函數和用戶自定義函數兩種。
①標準庫函數。由C編譯系統的函數庫提供,用戶無須定義,也不必在程序中作類型說明,只需在程序前包含有該函數原型的頭文件即可在程序中直接調用。
②用戶自定義函數。由用戶按需要編寫的函數。對于用戶自定義函數,不僅要在程序中定義函數本身,而且在主調函數模塊中還必須對該被調函數進行類型說明,然后才能使用。
(2)C語言函數兼有其他語言中的函數和過程兩種功能,從這個角度看,又可把函數分為有返回值函數和無返回值函數兩種。
①有退回值函數。此類函數被調用執行完后將向調用者返回一個執行結果,即函數返回值,例如數學函數屬于此類函數。由用戶定義的這種要返回函數值的函數,必須在函數定義和函數說明中明確返回值的類型。
②無返回值函數。此類函數用于完成某項特定的處理任務,執行完成后不向調用者返回函數值。這類函數類似其他語言的過程。由于函數無須返回值,用戶在定義此類函數時可指定它的返回為“空類型”,空類型的說明符為“void”。
(3)從主調函數和被調函數之間數據傳送的角度看又可分為無參函數和有參函數兩種。
①無參函數。函數定義、函數說明及函數調用中均不帶參數。主調函數和被調函數之間不進行參數傳送。此類函數通常用來完成一組指定的功能,可以返回或不返回函數值。
②有參函數。也稱為帶參函數。在函數定義即函數說明時都有參數,稱為形式參數(簡稱形參)。在函數調用時也必須給出參數,稱為實際參數(簡稱實參)。進行函數調用時,主調函數將把實參的值傳給形參,供被調函數使用。
函數是構成程序的主要部分,IPD04N03LA是程序設計的核心。模塊化程序設計允許將問題分解為多個函數模塊,每個函數完成特定的功能,這些函數最終通過相互調用而組合為整個程序。
所有的函數在定義時都是相互獨立的,函數中不能定義其他函數,即不能嵌套定義,但函數可以相互調用,習慣上把調用者稱為主調函數。函數還可以自己調用自己,稱為遞歸調用。函數調用的一般規則是:主函數可以調用其他普通函數,普通函數間可以相互調用,但普通函數不能調用主函數。
函數分類
可以從不同角度對函數分類。
(1)從函數定義的角度看,函數可分為標準庫函數和用戶自定義函數兩種。
①標準庫函數。由C編譯系統的函數庫提供,用戶無須定義,也不必在程序中作類型說明,只需在程序前包含有該函數原型的頭文件即可在程序中直接調用。
②用戶自定義函數。由用戶按需要編寫的函數。對于用戶自定義函數,不僅要在程序中定義函數本身,而且在主調函數模塊中還必須對該被調函數進行類型說明,然后才能使用。
(2)C語言函數兼有其他語言中的函數和過程兩種功能,從這個角度看,又可把函數分為有返回值函數和無返回值函數兩種。
①有退回值函數。此類函數被調用執行完后將向調用者返回一個執行結果,即函數返回值,例如數學函數屬于此類函數。由用戶定義的這種要返回函數值的函數,必須在函數定義和函數說明中明確返回值的類型。
②無返回值函數。此類函數用于完成某項特定的處理任務,執行完成后不向調用者返回函數值。這類函數類似其他語言的過程。由于函數無須返回值,用戶在定義此類函數時可指定它的返回為“空類型”,空類型的說明符為“void”。
(3)從主調函數和被調函數之間數據傳送的角度看又可分為無參函數和有參函數兩種。
①無參函數。函數定義、函數說明及函數調用中均不帶參數。主調函數和被調函數之間不進行參數傳送。此類函數通常用來完成一組指定的功能,可以返回或不返回函數值。
②有參函數。也稱為帶參函數。在函數定義即函數說明時都有參數,稱為形式參數(簡稱形參)。在函數調用時也必須給出參數,稱為實際參數(簡稱實參)。進行函數調用時,主調函數將把實參的值傳給形參,供被調函數使用。