1. 程式人生 > >如何學好C語言

如何學好C語言

寫這篇文章的主要目的是作為過來人想給初學者一些學習建議。掌握一個好的學習方法,往往可以事半功倍。

想窺探神祕的程式碼世界?最好的入口無疑就是C語言。

C語言是計算機體系結構的基礎,向下可以操作硬體(包括ARM,DSP,微控制器等各種微處理器),還可以寫驅動,寫OS,寫編譯器。向上可以進一步的學習C++,JAVA等面嚮物件語言,再學習一些圖形使用者介面框架,比如Qt,MFC,就可做出類似於計算器、QQ等Window桌面應用,再比如Android,就可以做出微信等Android應用,再比如Unity3D,就可以做出類似王者榮耀、刺激戰場等手遊。想想是不是就有點小激動呢!

那我們就腳踏實地,一步一步的走下去吧。先從如何學習C語言開始,後面的詳細學習方法之後也會分享的哦。學會了C語言,就進入了計算機領域的大門,對於以後學習C++、Java等面嚮物件語言都大有益處。

下圖是一個網上流行的程式設計師“鄙視鏈”。其實我想說的是,還是有一定道理的,哈哈哈,笑而不語。

作為“程式猿大叔”的我總結了學習C語言的幾個步驟,其他程式語言學習方法基本類似,希望對大家有所幫助。

1.看書

學習一門程式語言首先學習基本語法。

C語言的基礎語法包括資料型別、運算子、表示式、陣列、邏輯運算、函式、指標等。學習這些先買一本入門書籍,個人還是推薦經典的《譚浩強C語言》,既然挺多大學選擇這本書作為教材,總歸有其合理之處吧。這本書對知識點的介紹都比較淺顯,但涵蓋面比較廣。邊學語法便敲案例,看著程式碼在計算機上執行起來是不是也有點小激動。這樣便有了繼續學習下去的動力。

C語言深入的話推薦《c primer plus》,你會發現有些地方晦澀難懂,不要被疑問絆住腳步,浪費太多時間在細枝末節的地方。C語言只是你進入新世界的第一步而已,而程式設計的世界遠比你想象的更廣闊,更有意思。《c primer plus》更適合作為一本字典使用,放在電腦旁,方便隨時查閱。

我也推薦通過教學視訊入門,老師會講解重難點知識,並且進行演示,相對於看書會更容易。現在網路這麼發達,有很多優質的教學視訊可供利用。

2.寫程式碼練習

想學好一門程式語言,僅僅是看書而不動手去練習是遠遠不夠的,一定要把書裡的程式碼搬到電腦裡。

大多數人是使用Windows系統,那麼就先下載一個Visual Studio吧,推薦使用VS2015。

喜歡Linux的朋友,可以下載一個VMWare虛擬機器,在再虛擬機器中安裝Ubuntu等基於Linux核心的作業系統,然後再安裝gcc,gdb。

安裝好開放環境之後,就可以開始愉快的敲程式碼了。

試著寫一些簡單而有趣的程式碼,比如 Hello World,檔案讀寫,邏輯運算、常用演算法等等。

3.總結心得體會

把自己覺得抽象難懂的程式放到VS中跑一跑,除錯一番,會有很多發現。很多程式碼在除錯之後就能理解,會有一種恍然大悟的快感。我以前電腦裡就經常會有一個Test工程資料夾,哪裡有疑惑,就把程式碼放進去,一Debug,全部疑惑就解開了。

然後把這些總結整理起來,這樣知識就變成自己的了。推薦使用印象筆記進行記錄,很方便,隨時可以查閱。

比如這樣,瞭解 Union 的記憶體結構

比如這樣,瞭解 C 語言的記憶體分配

4.寫一個小作品

基本知識掌握的差不多了,試著寫個小程式。比如:計算器、打字遊戲、圖書管理系統等。

看著人生第一個自己開發的程式,會有很大的成就感。而且在寫程式的過程中,你的程式設計能力也會得到很大的提升。

計算器、打字遊戲、圖書管理系統控制檯程式我都寫過,當時是作為課程設計,真的是成就感滿滿。

很多同學可能不滿足於“黑不溜秋”的控制檯程式,想做一個有介面的程式,這就需要用到圖形使用者介面框架了,上面已經列舉過了。關於這些的學習方法會在之後介紹。

最後總結:

寫程式碼練習,寫程式碼練習,寫程式碼練習,重要的事情說三遍。

讓內容有態度,讓技術有溫度,這是一個可以漲姿勢的關注號。