本節(jié)介紹C程序的基本單元--函數(shù)。函數(shù)中包含了程序的可執(zhí)行代碼。每個C程序的入口和出口都位于函數(shù)main()之中。main()函數(shù)可以調(diào)用其他函數(shù),這些函數(shù)執(zhí)行完畢后程序的控制又返回到main()函數(shù)中,main()函數(shù)不能被別的函數(shù)所調(diào)用。通常我們把這些被調(diào)用的函數(shù)稱為下層(lower-level)函數(shù)。函數(shù)調(diào)用發(fā)生時,立即執(zhí)行被調(diào)用的函數(shù),而調(diào)用者則進入等待狀態(tài),直到被調(diào)用函數(shù)執(zhí)行完畢。函數(shù)可以有參數(shù)和返回值。
程序員一般把函數(shù)當作“黑箱”處理,并不關(guān)心它內(nèi)部的實現(xiàn)細節(jié)。當然程序員也可以自己開發(fā)函數(shù)庫。
說明一點,函數(shù)這一節(jié)很重要,可以說一個程序的優(yōu)劣集中體現(xiàn)在函數(shù)上。如果函數(shù)使用的恰當,可以讓程序看起來有條理,容易看懂。如果函數(shù)使用的亂七八糟,或者是沒有使用函數(shù),程序就會顯得很亂,不僅讓別人無法查看,就連自己也容易暈頭轉(zhuǎn)向?梢赃@樣說,如果超過100行的程序中沒有使用函數(shù),那么這個程序一定很羅嗦(有些絕對,但也是事實)。
一、函數(shù)的定義
一個函數(shù)包括函數(shù)頭和語句體兩部分。
函數(shù)頭由下列三不分組成:
函數(shù)返回值類型
函數(shù)名
參數(shù)表
一個完整的函數(shù)應(yīng)該是這樣的:
函數(shù)返回值類型 函數(shù)名(參數(shù)表)
{
語句體;
}
函數(shù)返回值類型可以是前面說到的某個數(shù)據(jù)類型、或者是某個數(shù)據(jù)類型的指針、指向結(jié)構(gòu)的指針、指向數(shù)組的指針。指針概念到以后再介紹。
函數(shù)名在程序中必須是唯一的,它也遵循標識符命名規(guī)則。
參數(shù)表可以沒有也可以有多個,在函數(shù)調(diào)用的時候,實際參數(shù)將被拷貝到這些變量中。語句體包括局部變量的聲明和可執(zhí)行代碼。
我們在前面其實已經(jīng)接觸過函數(shù)了,如abs(),sqrt(),我們并不知道它的內(nèi)部是什么,我們只要會使用它即可。
這一節(jié)主要講解無參數(shù)無返回值的函數(shù)調(diào)用。
相關(guān)推薦:計算機等級考試二級C語言教程匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |