C語言從零開始(一)
寫在前麵
毫無疑問,大部分資深程序員的編程生涯都是從C語言開始的。依稀還記得大一時候自學C語言時的情景,當時剛上大一,博主為了追求心儀的妹子就在完全不懂得C語言是什麼的情況下報名參加下學期的計算機二級(C語言)考試。這一行為果斷引來了女神關注,效果頗佳。然而在仔細了解了C語言之後,才發現比想象中的困難了一些。再加上大二的學長們各種渲染C語言有多難學,於是心中開始打鼓。
大一的寒假,我從圖書館借來了三本C語言入門的書,開始自學。其中自然有大名鼎鼎的譚浩強老人家的書。記得當時安裝Turb C就花了好幾天的時間,幾近崩潰邊緣。後來終於用一個寒假的時間把基礎知識都學會了,又做了幾套計算機二級的卷子,連蒙帶猜的通過了第二學期的考試。從此就算是和編程結了緣。
當年的妹子如今已經杳無音信,而C語言的代碼我一寫就寫了十年。
這十年裏,IDE從最簡單的Turb C到VC 6.0再到VS2005、2008、2010、2013...開發方向從嵌入式到Windows開發再到Linux服務器開發,當年學習C語言那份熱情依然還在。後來又在公司擔任了新員工試用期項目培訓的工作,每年都要把變量的指針和指針變量這樣的東西反複講。看著他們一個個獨立完成了自己的試用期項目,博主成就感爆棚。
最近幾年,一直堅持利用業餘時間幫助網友解決C語言學習過程中的各種疑難問題。每天至少花費2小時時間回複郵件。隨著來信越來越多,越發感到力不從心。況且大部分朋友的問題都是類似的,重複回答實在無趣,希望更多的朋友與我交流。
下麵進入正題
1. 教材選擇
不想給大家一長串書名,那樣也許就直接抹殺了你學習C語言的興趣,這裏重點推薦三本。
《C程序設計》譚浩強

很多大牛都不推薦譚浩強的《C語言程序設計》,但我不這麼認為。這本書雖然講的不那麼到位但作為初學者從它入門還是挺合適的。最重要的是,網上大部分初級網友都是以它為基礎進行交流的,有了它更容易融進各種論壇的討論。
《C程序設計語言》 Brian W.Kernighan | Dennis M.Ritchie

這本書是C語言之父Dennis參與編寫的,雖然不厚,但有些思想講得比較到位。建議初學者學習。
如果你想學習C/C++可以來這個群,首先是三三零,中間是八五九,最後是七六六,裏麵有大量的學習資料可以下載。
《C Primer Plus》

這本書是非常經典的教材,每個知識點都介紹的非常到位。可以說這是入門級的選手的終結教材。如果想學好C語言並在後麵有更大的發展,這本書必須要看。它能幫你打下堅固的程序設計基礎。
學習好這本書之後,學校裏的各種考試和小競賽就不在話下了。接下來,你該開始自己的進階之路了。
2. IDE選擇
如今,Turb C肯定是已經永遠地退出曆史舞台了,但初學者還是要選擇一款合適的IDE才能方便的上手。
GCC + vim
很多學校的實驗室都用的Linux係統,建議大家從vim開始編寫最初的代碼。
編寫好後執行下麵代碼:
$ gcc -c main.c
$ gcc -o main main.o
$ ./main

Code::Blocks
這是一個輕量級的IDE,對於初學者而言,這是不二選擇。

可以從這裏下載你需要的版本
VS 2013
無疑這是C語言開發最牛X的工具,然而這裏不建議初學者使用。由於Microsoft自己製定了很多自己關於開發的規則,初學者會發現課本上的代碼原封不動的敲在上麵卻報出莫名其妙的錯誤。

不過,當你擁有一定C語言基礎的時候,VS的學習一定是必不可少的。
3. 實踐
編程是一門非常注重實踐的學科,如果你不去親自敲代碼的話,那你永遠也學不會。而博主也更願意在郵件中針對具體的編程問題和大家討論。
這裏推薦兩個適合初學者編程練習的在線係統。
已經入門的朋友可以前去練習,有什麼問題我們一起討論。
4. C語言知識結構

最後更新:2017-04-17 16:30:39