一、高級語言程序的開發過程
1.分析問題,建立模型
2.表現模型
3.源程序的編輯
4.程序的編譯(或翻譯)與鏈接
把用高級語言編寫的程序稱為源程序,把機器可以直接辨認並可執行的程序稱為可執行程序
(1).第一步
在程序編輯過程中,所輸入源文件中的是一些字符碼
,但是機器能夠直接處理的是0、1信息。為此,首先要將源程序文件翻譯成0、1碼所表示的信息,應用相應的文件保存。這種保存0、1碼的文件稱為目標程序文件。由源程序翻譯成目標程序的過程稱為編譯。在編譯過程中,還要對源程序中的語法和邏輯結構進行檢查。編譯任務是由稱為編譯器的軟件完成的。目標程序文件尚且不能執行,它們只是一些目標程序模塊。
(2)第二步
將目標程序模塊以及程序所需的系統固有目標程序模塊(如執行輸入、輸出操作的模塊)鏈接成一個完成的程序。經正確鏈接所生成的文件才是可執行文件。完成鏈接過程的軟件稱為鏈接器。
5.程序的測試與調試
6.編寫程序文檔
7.程序的維護
二、有的操作系統(如UNIX)要求在執行一個程序之後應該向系統返回一個整數值,如程序正常執行和結束,應該返回0,否則返回一個非0值。因此,需要將main函數指定為int,同時在函數體的最後添加返回語句 return 0;其功能是向調用者(操作系統)返回0值,表示主函數正常結束(也就是程序正常結束)。此語句必須寫在函數體的最後一行才有意義,因為只要執行到這一條語句,就表示程序正常結束,向操作系統返回一個0.
有的操作系統(如DOS,WINDOWS)並無程序必須返回某一個整數的要求,因此,可以不制定main函數為整型。
當然,為了程序更好的容錯性,我們最好使用
int main(void)
{
……
Return 0;
}
三、C語言中的運算符種類很多,正確的使用這些運算符,有以下三點需要注意。
1.含義
要注意區分一個運算符符號在C語言程序中和在普通數學表達式中的意義的不同,如“=”。
2.優先級
在一個表達式中存在多個運算符時候,進行運算的先後順序。
3.結合性
即在一個表達式中存在多個優先級別相同的運算符時,先進行哪個運算符的運算。
四、標識符與關鍵字
標識符也稱為名字,如變量名、函數名、文件名等。在C語言程序中,所使用的標識符應當符合以下詞法規則。
(1).標識符是大/小寫字母、數字和下劃線所組成的序列,但不能以數字開頭。
(2)C語言區分同一字母的大/小寫,如abc和abC就是不同的標識符。
(3)C89要求編譯器所能識別的標識符長度不多於31個有效字符。C99要求編譯器所能識別的標識符長度不多於63個有效字符。
(4)普通標識符不能使用對於系統有特殊意義的名字,如類型名、語句名等。這些對系統具有特殊意義的名字稱為關鍵字。
五、養成良好的標識符起名習慣
(1)盡量做到“見名知義”,以增加程序的可讀性。
(2)盡量避免使用容易混淆的字符,例如0(數字)-O(大寫字母)-o(小寫字母)這一類。
(3)名字不要過短,一般的函數名盡量使用動賓結構,如PrintCalendar、IsPrime等。
(4)一些Windows程序員還采用匈牙利命名法。
六、關於聲明的規定
在C99頒布之前,對變量和函數的聲明並不作為語句(盡管它們也以分號作為結尾),它們必須出現在C語言的前面(聲明的位置必須集中寫在語句之前)。C99改變了這一種做法,它借鑒了C++的做法,聲明不必集中放在執行語句之前,可以出現在程序中的任意一行。這樣,C語言語句就有執行語句和非執行語句之分。聲明屬於非執行語句,表達式語句和流程控制語句屬於執行語句。
七、“=”不是等號,是賦值運算符(不能念做等號)。賦值運算符具有“自右向左”的結合性,例如a=b=c=5+3;
摘自 飄過的小牛