3. 從主調(diào)函數(shù)和被調(diào)函數(shù)之間數(shù)據(jù)傳送的角度看又可分為無參函數(shù)和有參函數(shù)兩種。
(1)無參函數(shù)
函數(shù)定義、函數(shù)說明及函數(shù)調(diào)用中均不帶參數(shù)。 主調(diào)函數(shù)和被調(diào)函數(shù)之間不進(jìn)行參數(shù)傳送。 此類函數(shù)通常用來完成一組指定的功能,可以返回或不返回函數(shù)值。
(2)有參函數(shù)
也稱為帶參函數(shù)。在函數(shù)定義及函數(shù)說明時(shí)都有參數(shù), 稱為形式參數(shù)(簡(jiǎn)稱為形參)。在函數(shù)調(diào)用時(shí)也必須給出參數(shù), 稱為實(shí)際參數(shù)(簡(jiǎn)稱為實(shí)參)。 進(jìn)行函數(shù)調(diào)用時(shí),主調(diào)函數(shù)將把實(shí)參的值傳送給形參,供被調(diào)函數(shù)使用。
4. C語言提供了極為豐富的庫函數(shù), 這些庫函數(shù)又可從功能角度作以下分類。
(1)字符類型分類函數(shù)
用于對(duì)字符按ASCII碼分類:字母,數(shù)字,控制字符,分隔符,大小寫字母等。
(2)轉(zhuǎn)換函數(shù)
用于字符或字符串的轉(zhuǎn)換;在字符量和各類數(shù)字量 (整型, 實(shí)型等)之間進(jìn)行轉(zhuǎn)換;在大、小寫之間進(jìn)行轉(zhuǎn)換。
(3)目錄路徑函數(shù)
用于文件目錄和路徑操作。
(4)診斷函數(shù)
用于內(nèi)部錯(cuò)誤檢測(cè)。
(5)圖形函數(shù)
用于屏幕管理和各種圖形功能。
(6)輸入輸出函數(shù)
用于完成輸入輸出功能。
(7)接口函數(shù)
用于與DOS,BIOS和硬件的接口。
(8)字符串函數(shù)
用于字符串操作和處理。
(9)內(nèi)存管理函數(shù)
用于內(nèi)存管理。
(10)數(shù)學(xué)函數(shù)
用于數(shù)學(xué)函數(shù)計(jì)算。
(11)日期和時(shí)間函數(shù)
用于日期,時(shí)間轉(zhuǎn)換操作。
(12)進(jìn)程控制函數(shù)
用于進(jìn)程管理和控制。
(13)其它函數(shù)
用于其它各種功能。
以上各類函數(shù)不僅數(shù)量多,而且有的還需要硬件知識(shí)才會(huì)使用,因此要想全部掌握則需要一個(gè)較長(zhǎng)的學(xué)習(xí)過程。 應(yīng)首先掌握一些最基本、 最常用的函數(shù),再逐步深入。由于篇幅關(guān)系,本書只介紹了很少一部分庫函數(shù), 其余部分讀者可根據(jù)需要查閱有關(guān)手冊(cè)。
還應(yīng)該指出的是,在C語言中,所有的函數(shù)定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說,在一個(gè)函數(shù)的函數(shù)體內(nèi), 不能再定義另一個(gè)函數(shù), 即不能嵌套定義。但是函數(shù)之間允許相互調(diào)用,也允許嵌套調(diào)用。習(xí)慣上把調(diào)用者稱為主調(diào)函數(shù)。 函數(shù)還可以自己調(diào)用自己,稱為遞歸調(diào)用。main 函數(shù)是主函數(shù),它可以調(diào)用其它函數(shù),而不允許被其它函數(shù)調(diào)用。 因此,C程序的執(zhí)行總是從main函數(shù)開始, 完成對(duì)其它函數(shù)的調(diào)用后再返回到main函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。一個(gè)C源程序必須有,也只能有一個(gè)主函數(shù)main。
函數(shù)定義的一般形式
1.無參函數(shù)的一般形式
類型說明符 函數(shù)名()
{
類型說明
語句
}
其中類型說明符和函數(shù)名稱為函數(shù)頭。 類型說明符指明了本函數(shù)的類型,函數(shù)的類型實(shí)際上是函數(shù)返回值的類型。 該類型說明符與第二章介紹的各種說明符相同。 函數(shù)名是由用戶定義的標(biāo)識(shí)符,函數(shù)名后有一個(gè)空括號(hào),其中無參數(shù),但括號(hào)不可少。{} 中的內(nèi)容稱為函數(shù)體。在函數(shù)體中也有類型說明, 這是對(duì)函數(shù)體內(nèi)部所用到的變量的類型說明。在很多情況下都不要求無參函數(shù)有返回值, 此時(shí)函數(shù)類型符可以寫為void。
我們可以改為一個(gè)函數(shù)定義:
void Hello()
{
printf ("Hello,world \n");
}
這里,只把main改為Hello作為函數(shù)名,其余不變。Hello 函數(shù)是一個(gè)無參函數(shù),當(dāng)被其它函數(shù)調(diào)用時(shí),輸出Hello world字符串。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問:考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |