学习C/C++心得
?
想學一門編程語言,不知道學什么才好? 毫無疑問 C 語言啊。
C 語言是整個計算機體系的基礎,往下可以操作硬件(不止X86計算機,還有ARM,DSP,單片機等各種微處理器)寫Firmware,寫驅動、寫OS,寫編譯器,往上可以寫 App,并且大部分的計算機書籍里的算法都是C語言描述的。
所以學會了 C 語言,就是掌握了軟件領域的必備技能,以后再學其他的比如C++,Java,各種解釋性語言,相對來說就會容易很多。
?
?
?
我初學 C 語言是在 2005年大二,那個時候,上課的模式是老師在上面講,我們在下面聽,然后就沒有然后了,因為沒有電腦練習,我根本就沒有機會在課下了解更多的東西。學完了一本書,C 語言是干嘛的我都不知道,那個時候我并不知道 C 語言是用來寫軟件的,更何況別說軟件了,電腦都沒怎么見過。
?
我們當初用的教材名字叫 《VC++ 語言程序設計》,這導致我很長一段時間都沒不知道VC++,和 C++, C 的區別,OMG!!
對 C 語言的深入學習是在研究生期間,我認真地從頭到尾翻了一遍H.M.Deitel 的那本 C++,有了電腦簡直如虎添翼,我有陣子天天在宿舍編程。對了,我是在學習C++的時候,順帶學習(復習)的 C 語言,反正 C++ 的書上總有會 C 的。
?
?
這里是我總結的學習 C 語言的幾個步驟,其他編程語言基本類似,希望對大家有所幫助。
?
?
1. 看書
學習一門編程語言少不了先學習基本語法。
C語言的語法也就是變量,數組、指針、表達式、邏輯操作、函數,宏定義等等。學習這些先買一本入門級書籍,其實大都差不多,最經典的就是譚浩強的那本了,雖然在知乎上沒少被人黑,但是畢竟流行了這么多年,總歸是有可取之處的,其實作為入門書,你不能指望從它里面得到你想知道的所有東西。
除了基本語法,C 語言另一部分是標準庫。
這一點很少被C語言入門書提及,但是你要想寫出一個像樣的程序的話,標準庫必不可少。推薦這本世界級C語言專家編寫的《C標準庫》。
?
2. 寫代碼練習
要想學好一門編程語言,看書遠遠不夠,一定要把書里的代碼搬到電腦里。
相信大多數人都是使用的Widnows,那么就下載安裝一個Visual Studio吧,用哪個版本?最新的 VS2017 毋庸置疑。
喜歡 Linux 的朋友,就先下載 Glibc 庫,然后安裝 gcc, gdb。
好了,有了開發環境,接下來一切變得簡單,并且好玩。
試著寫一些簡單的代碼,比如 Hello World,文件讀寫,數學操作,常用算法,等等。
這是我以前練手時寫的
?
3. 總結心得體會
把你覺得很抽象、難以理解的東西放到 VS 里面進行調試,會有很多發現。我以前電腦里就經常會有一個名字叫 Test 的工程文件夾,哪里有疑惑了,就把代碼放進去,一 Debug,全部的疑云就解開了。
比如這樣,了解 Struct 內存結構
?
比如這樣,了解 Union 的內存結構
比如這樣,了解 指針和數組
?
然后把這一切,記錄在一個 Word 中,這樣知識就變成自己的了。
?
?
這是我從前總結的一個文檔
?
?
4. 寫個小作品
基本知識掌握的差不多了,試著寫個小程序。
看著人生第一個自己開發的程序,會有很多的成就感,并且在寫程序的過程中,你的編程能力會有質的飛躍。
我曾經寫過一個控制臺的五子棋游戲,可惜年代久遠,現在已經打不開了。
另外需要說明的是,想在 Windows 上寫一個有界面的程序的話,還需要學習Windows API,不過這仿佛是 C 語言之外的東西了,單單學習 C 語言,一個控制臺程序就夠了。
?
?
最后一句話作為總結,想要使自己的編程能力突飛猛進,一定要不斷地勤加練習。
總結
- 上一篇: C++高手总结的编程规律
- 下一篇: 2018 NLP圣经《自然语言处理综述》