09 函式的基本概念

2022-07-17 16:36:19 字數 2111 閱讀 7889

1、函式的概述

c源程式是由函式組成的 。函式是構成c語言源程式的基本單位。

函式的作用:完成特定功能的**段。

函式的好處:(1)把重複的**進行封裝;

(2)提高重用性(復用性);

(3)**的可讀性。

雖然在前面程式中大都只有乙個主函式main(),但實際程式往往由多個函式組成。

通過對函式模組的呼叫實現特定的功能。

c語言不僅提供了極為豐富的庫函式(如turbo c,ms c都提供了三百多個庫函式),還允許使用者建立自己定義的函式。使用者可把自己的演算法編成乙個個相對獨立的函式模組,然後用呼叫的方法來使用函式。可以說c程式的全部工作都是由各式各樣的函式完成的,所以也把c語言稱為函式式語言。

2、函式的分類

在c語言中可從不同的角度對函式分類。

1) 從函式定義的角度看,函式可分為庫函式

和使用者定義函式

兩種。

庫函式:由c系統提供,使用者無須定義,也不必在程式中作型別說明,只需在程式前包含有該函式原型的標頭檔案即可在程式中直接呼叫。在前面反覆用到printf、scanf等函式均屬此類。

使用者定義函式:由使用者按需要寫的函式。對於使用者自定義函式,不僅要在程式中定義函式本身,而且在主調函式模組中還必須對該被調函式進行型別說明,然後才能使用。

2) c語言的函式兼有其它語言中的函式和過程兩種功能,從這個角度看,又可把函式分為有返回值函式

和無返回值函式

兩種。

有返回值函式

:此類函式被呼叫執行完後將向呼叫者返回乙個執行結果,稱為函式返回值。如數學函式即屬於此類函式。由使用者定義的這種要返回函式值的函式,必須在函式定義和函式說明中明確返回值的型別。

無返回值函式

:此類函式用於完成某項特定的處理任務,執行完成後不向呼叫者返回函式值。這類函式 類似於其它語言的過程。由於函式無需返回值,使用者在定義此類函式時可指定它的返回為「空型別」, 空型別的說明符為「void」。

3) 從主調函式和被調函式之間資料傳送的角度看又可分為無參函式

和有參函式

兩種。

無參函式

:函式定義、函式說明及函式呼叫中均不帶引數。主調函式和被調函式之間不進行引數傳送。 此類函式通常用來完成一組指定的功能,可以返回或不返回函式值。

有參函式:也稱為帶參函式。在函式定義及函式說明時都有引數,稱為形式引數(簡稱為形參)。在函式呼叫時也必須給出引數,稱為實際引數(簡稱為實參)。

進行函式呼叫時,主調函式將把實參的值傳送給形參,供被調函式使用。

c語言的入口函式:main函式

intmain()

4) c語言提供了極為豐富的庫函式,這些庫函式又可從功能角度作以下分類。

字元型別分類函式

:用於對字元按ascii碼分類:字母,數字,控制字元,分隔符,大小寫字母等。

轉換函式:

用於字元或字串的轉換;在字元量和各類數字量(整型,實型等)之間進行轉換;在大、小寫 之間進行轉換。

目錄路徑函式:用於檔案目錄和路徑操作。

診斷函式:用於內部錯誤檢測。

圖形函式:用於螢幕管理和各種圖形功能。

輸入輸出函式:用於完成輸入輸出功能。

介面函式:用於與dos,bios和硬體的介面。

字串函式:用於字串操作和處理。

記憶體管理函式:用於記憶體管理。

數學函式:用於數學函式計算。

日期和時間函式:用於日期,時間轉換操作。

程序控制函式:用於程序管理和控制。

其它函式:用於其它各種功能。

以上各類函式不僅數量多,而且有的還需要硬體知識才會使用,因此要想全部掌握則需要乙個較長的學習過程。應首先掌握一些最基本、最常用的函式,再逐步深入。

還應該指出的是,在c語言中,所有的函式定義,包括主函式main在內,都是平行的。也就是說,在乙個函式的函式體內,不能再定義另乙個函式,即不能巢狀定義

。但是函式之間允許相互呼叫,也允許巢狀呼叫。

習慣上把呼叫者稱為主調函式。函式還可以自己呼叫自己,稱為遞迴呼叫。

main

函式是主函式,它可以呼叫其它函式,而不允許被其它函式呼叫。因此,c程式的執行總是從main函

數開始,完成對其它函式的呼叫後再返回到main函式,最後由main函式結束整個程式。乙個c源程式必須有,也只能有乙個主函式main。 

建構函式基本概念

建構函式 作用 在物件被建立時使用特定的值構造物件,將物件初始化為乙個特定的初始狀態 要求 函式名 型別名,不能定義返回值型別,也不能有return語句 使用 clock c 實參1,實參2,如果沒有定義建構函式,編譯器將在需要時自動生成乙個預設建構函式,這個預設構造函式引數列表為空,且初始值可能不...

JavaScript函式基本概念

js的函式和python差不多,def 換成function arguments js函式在使用時傳入的引數可以不與定義的引數個數相等 可多可少 arguments用於獲取所有傳入的引數,用法類似與array rest 用法function f a,b,rest 獲取除了自定義的a,b引數外的其餘引...

遞迴函式的基本概念

遞迴函式說白了就是乙個自己呼叫自己的函式 比方說def print num num if num 10 這是跳出的條件 return 這是跳出的位置 else print num num 1 print num num 再次呼叫自己 print num 1 這就算是乙個簡單的遞迴函式,依次列印1 1...