對于一個剛開始寫C語言程序的人,不建議把自己關到一個小屋子,象鉆研奧數題一樣,苦思冥想,寫一些蹩腳的所謂程序。必須遵循C語言的開發風格,一開始就形成規范化編程,這樣有利于以后的發展。
一個十到二十多年的程序員,如果回頭看他們剛開始一、兩年做的C程序,估計覺得很別扭,不好懂,而且流程混亂。
這是因為大多剛開始玩C的人,大都急于寫程序,從”helloworld”開始。這是非常low的。
我的建議是,從一個范本程序的分析開始。我開始學C語言,在把基礎的語法、函數看過一遍后,找到了一個C語言的范本,包括文件操作、字符編輯、通訊、圖形顯示、文本輸出等于一體的程序,進行通讀分析。
通過分析,你會對C程序的規范有大致了解。如getch()與bioskey()區別與聯系;fgets,fwrite與數據類型、結構等是如何進行文件操作,各用在什么場合;圖形界面是如何設置的,字庫是如何裝入的,圖形的填充方式,如何直接操作圖形的數據緩沖區;結構化程序風格,注釋如何規范,程序修改規范;H頭文件是如何把函數與宏定義分開的,頭文件的規范等等。
學習范例的目的,是為以后的編程風格打基礎,要成為國際標準的履行者,而不是一個邋遢的碼農。
先做框架,再研究重點算法。框架搭好了,程序就走不了樣。
正如一道數學題有很多方法一樣,編程也是如此。在做具體分枝的算法時,必須要有流程圖,或者是思路。建議把這些主要思想寫到相關主程序的前邊,要清晰明了,做為以后做維護時的基礎。
比如要解aX2+bX+c=0方程,必須把要用的公式、判斷方法寫清楚;要在屏幕上畫一個齒輪,必須把齒輪的相關參數的幾何意義寫明白,相關算法收集整理好。
一切資料準備好后,方可動手寫分枝程序。不建議”寫到那是那”的糊涂的做程序方法,最后調試時,你自己很累,指導老師也不會輕松。
總結:C語言代碼寫不出來,建議先學習范例程序,把寫規范化程序的套路搞明白后,再開始寫程序,這樣方向就不會偏,最多是研究一些重要算法。對于算法,一定要找資料,對比分析,爭取用一個效率高、思路簡潔的方法,這一點不要用別人的,必須加入自己的判斷。