任何一種程序設計語言都具有特定的語法規則和規定的表達方法。一個程序只有嚴格按照語言規定的語法和表達方式編寫,才能保證編寫的程序在計算機中能正確地執行,同時也便于閱讀和理解。
為了了解C語言的基本程序結構,我們先介紹幾個簡單的C程序。

這是一個最簡單的C程序,其執行結果是在屏幕上顯示一行信息:
RUN <enter>
This is a sample of c program.
本程序的執行過程是:
• 程序從m a i n ( )處開始。
• 變量a代表一個整數,并且初始值為3。
• 執行程序(函數)p r o c ( );屏幕上顯示H e l l o,\ n為轉義字符,代表換行的意思。
• 執行程序(函數)f u n c ( );并將結果賦予a,此時,a的值為2。
• 屏幕上顯示“This is a sample of c program.”。
程序執行的結果是在屏幕顯示兩行信息:
R U N <enter>
H e l l o .
This is a sample of c program.
程序中/ * . . . . . * /表示對程序的說明(稱為注釋),不參與程序的運行。注釋文字可以是任意字符,如漢字、拼音、英文等。
本程序的功能是對從鍵盤輸入的長方體的長、寬、高三個整型量求其體積的值。程序運行的情況如下:
R U N ↵
5 , 8 , 6 ↵
v = 240
在本例中,m a i n函數在調用v o l u m e函數時,將實際參數x、y、z的值分別傳送給v o l u m e函數中的形式參數a、b、c。經過執行v o l u m e函數得到一個結果(即v o l u m e函數中變量p的值)并把這個值賦給變量v。
從上面程序例子,可以看出C程序的基本結構。
C程序為函數模塊結構,所有的C程序都是由一個或多個函數構成,其中必須只能有一個主函數m a i n ( )。程序從主函數開始執行,當執行到調用函數的語句時,程序將控制轉移到調用函數中執行,執行結束后,再返回主函數中繼續運行,直至程序執行結束。C程序的函數是由編譯系統提供的標準函數(如p r i n t f、s c a n f等)和由用戶自己定義的函數(如p r o c、f u n c、v o l u m e等)。雖然從技術上講,主函數不是C語言的一個成分,但它仍被看做是其中的一部分,因此,“m a i n”不能用作變量名。
函數的基本形式是:函數類型函數名(形式參數)形式參數說明;
{
數據說明部分;
語句部分;
}
其中:函數頭包括函數說明、函數名和圓括號中的形式參數(如int volume(a,b,c)),如果函數
調用無參數傳遞,圓括號中形式參數為空(如void proc()函數)。形式參數說明指定函數調用傳遞參數的數據類型(如例1 . 3中語句int a,b,c;)。函數體包括函數體內使用的數據說明和執行函數功能的語句,花括號{和}表示函數體的
開始和結束。
1.3.2 函數庫和鏈接
從技術上講,純粹由程序員自己編寫的語句構成C語言程序是可能的,但這卻是罕見的。因為所有的C編譯程序都提供能完成各種常用任務的函數—函數庫(如p r i n t f、s c a n f等)。C編譯程序的實現者已經編寫了大部分常見的通用函數。當我們調用一個別人編寫的函數時編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫的程序同標準函數庫中找到的目標碼結合起來,這個過程稱為“鏈接”。
保存在函數庫中的函數是可重定位的。這意味著其中機器碼指令的內存地址并未絕對地確定, 只有偏移量是確定的。當把程序與標準函數庫中的函數相鏈接時,內存偏移量被用來產生實際地址。有關重定位的詳細內容,請查閱其他技術書籍。
編寫程序時用到的函數,許多都可以在標準函數庫中找到。它們是可以簡單地組合起來的程序構件。編寫了一個經常要用的函數之后,可將其放入庫中備用。
1.3.3 開發一個C程序
開發一個C程序,包括以下四步:
1) 程序設計程序設計亦稱程序編輯。程序員用任一編輯軟件(編輯器)將編寫好的C程序輸入計算機,并以文本文件的形式保存在計算機的磁盤上。編輯的結果是建立C源程序文件。C程序習慣上使用小寫英文字母,常量和其他用途的符號可用大寫字母。C語言對大、小寫字母是有區別的。關鍵字必須小寫。
2) 程序編譯編譯是指將編輯好的源文件翻譯成二進制目標代碼的過程。編譯過程是使用C語言提供的編譯程序(編譯器)完成的。不同操作系統下的各種編譯器的使用命令不完全相同,使用時應注意計算機環境。編譯時,編譯器首先要對源程序中的每一個語句檢查語法錯誤,當發現錯誤時,就在屏幕上顯示錯誤的位置和錯誤類型的信息。此時,要再次調用編輯器進行查錯修改。然后,再進行編譯,直至排除所有語法和語義錯誤。正確的源程序文件經過編譯后在磁盤上生成目標文件。
3 ) 鏈接程序編譯后產生的目標文件是可重定位的程序模塊,不能直接運行。鏈接就是把目標文件和其他分別進行編譯生成的目標程序模塊(如果有的話)及系統提供的標準庫函數鏈接在一起,生成可以運行的可執行文件的過程。鏈接過程使用C語言提供的鏈接程序(鏈接器)完成,生成的可執行文件存在磁盤中。
4) 程序運行生成可執行文件后,就可以在操作系統控制下運行。若執行程序后達到預期目的,則C程序的開發工作到此完成。否則,要進一步檢查修改源程序,重復編輯—編譯
—鏈接—運行的過程,直到取得預期結果為止。
大部分C語言都提供一個獨立的開發集成環境,它可將上述四步連貫在一個程序之中。本書所涉及的程序全部在Turbo C環境中進行。
1.3.4 C語言的關鍵字
表1 - 2列舉了3 2個關鍵字,它們與標準C句法結合,形成了程序設計語言C。

C語言的關鍵字都用小寫字母。C語言中區分大寫與小寫,e l s e是關鍵字,“E L S E”則不是。在C程序中,關鍵字不能用于其它目的,即不允許將關鍵字作為變量名或函數名使用。