首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
C程序是由一組或是變量或是函數的外部對象組成的。 函數是一個自我包含的完成一定相關功能的執行代碼段。我們可以把函數看成一個"黑盒子", 你只要將數據送進去就能得到結果, 而函數內部究竟是如何工作的的, 外部程序是不知道的。
外部程序所知道的僅限于輸入給函數什么以及函數輸出什么。函數提供了編制程序的手段, 使之容易讀、寫、理解、排除錯誤、修改和維護。
C程序中函數的數目實際上是不限的, 如果說有什么限制的話, 那就是, 一個C程序中必須至少有一個函數, 而且其中必須有一個并且僅有一個以main為名, 這個函數稱為主函數, 整個程序從這個主函數開始執行。
C 語言程序鼓勵和提倡人們把一個大問題劃分成一個個子問題, 對應于解決一個子問題編制一個函數, 因此, C 語言程序一般是由大量的小函數而不是由少量大函數構成的, 即所謂"小函數構成大程序"。這樣的好處是讓各部分相互充分獨立,并且任務單一。因而這些充分獨立的小模塊也可以作為一種固定規格的小"構件", 用來構成新的大程序。
C語言的一個主要特點是可以建立庫函數。Turbo C2.0提供的運行程序庫有400多個函數, 每個函數都完成一定的功能, 可由用戶隨意調用。這些函數總的分為輸入輸出函數、數學函數、字符串和內存函數、與BIOS和DOS有關的函數、 字符屏幕和圖形功能函數、過程控制函數、目錄函數等。對這些庫函數應熟悉其功能, 只有這樣才可省去很多不必要的工作。
本教程后半部分專門介紹Turbo C2.0的庫函數, 并對每個函數都給出例程, 讀者可以將自已需要的部分以塊的方式定義, 然后將此塊寫入文件, 這樣就可以在進入Turbo C2.0集成開發環境后, 直接調用此程序, 連接, 運行, 觀察結果, 以加深對該函數的理解。
用戶編制Turbo C語言源程序, 就是利用Turbo C的庫函數?梢园阉惺褂玫膸旌瘮捣旁谝粋龐大的主函數里, 也可以按不同功能設計成一個個用戶函數而被其它函數調用。Turbo C2.0建議用戶使用后者, 當用戶編制了一些較常用的函數時,只要將其存在函數庫里, 在以后的編程中可被方便的調用而不需要再去編譯它們。連接時將會自動從相應的庫中裝配成所需程序。
1. 函數的說明與定義
Turbo C2.0中所有函數與變量一樣在使用之前必須說明。所謂說明是指說明函數是什么類型的函數, 一般庫函數的說明都包含在相應的頭文件<*.h>中, 例如標準輸入輸出函數包含在stdio.h中, 非標準輸入輸出函數包含在io.h中, 以后在使用庫函數時必須先知道該函數包含在什么樣的頭文件中, 在程序的開頭用#include<*.h>或#include"*.h"說明。只有這樣程序在編譯, 連接時Turbo C 才知道它是提供的庫函數, 否則, 將認為是用戶自己編寫的函數而不能裝配。
1.1 函數說明
1. 經典方式
其形式為: 函數類型 函數名();
2. ANSI 規定方式
其形式為: 函數類型 函數名(數據類型 形式參數, 數據類型 形式參數, ......);
其中: 函數類型是該函數返回值的數據類型, 可以是以前介紹的整型(int), 長整型(long), 字符型(char), 單浮點型(float), 雙浮點型(double)以及無值型(void), 也可以是指針, 包括結構指針。無值型表示函數沒有返回值。
函數名為Turbo C2.0的標識符, 小括號中的內容為該函數的形式參數說明。可以只有數據類型而沒有形式參數, 也可以兩者都有。對于經典的函數說明沒有參數信息。如:
int putlll(int x,int y,int z,int color,char *p)/*說明一個整型函數*/
char *name(void); /*說明一個字符串指什函數*/
void student(int n, char *str); /*說明一個不返回值的函數*/
float calculate(); /*說明一個浮點型函數*/
注意: 如果一個函數沒有說明就被調用, 編譯程序并不認為出錯, 而將此函數默認為整型(int)函數。因此當一個函數返回其它類型, 又沒有事先說明, 編譯時將會出錯。
1.2 函數定義
函數定義就是確定該函數完成什么功能以及怎么運行, 相當于其它語言的一個子程序。Turbo C2.0對函數的定義采用ANSI規定的方式。即:
函數類型 函數名(數據類型形式參數; 數據類型 形式參數...)
{
函數體;
}
其中函數類型和形式參數的數據類型為Turbo C2.0的基本數據類型。函數體為Turbo C2.0提供的庫函數和語句以及其它用戶自定義函數調用語句的組合, 并包括在一對花括號"{"和"}"中。
需要指出的是一個程序必須有一個主函數, 其它用戶定義的子函數可以是任意多個, 這些函數的位置也沒有什么限制, 可以在main()函數前, 也可以在其后。
Turbo C2.0將所有函數都被認為是全局性的。而且是外部的, 即可以被另一個文件中的任何一個函數調用。
2 函數的調用
2.1 函數的簡單調用
Turbo C2.0調用函數時直接使用函數名和實參的方法, 也就是將要賦給被調用函數的參量, 按該函數說明的參數形式傳遞過去, 然后進入子函數運行, 運行結束后再按子函數規定的數據類型返回一個值給調用函數。使用Turbo C2.0的庫函數就是函數簡單調用的方法。舉例說明如下:
例1:
#include
int maxmum(int x, int y, int z); /*說明一個用戶自定義函數*/
int main()
{
int i, j, k;
printf("i, j, k=?\n");
scanf("%4d%4d%4d", &i, &j, &k);
maxmum(i, j, k);
getch();
return 0;
}
maxmum(int x, int y, int z)
{
int max;
max=x>y?x:y;
max=max>z?max:z;
printf("The maxmum value of the 3 data is %d\n", max);
}
相關推薦:計算機等考二級C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |