【文章福利】: 小編推薦一個C語言/C++交流羣:836880131!整理了一些個人覺得比較好的學習書籍、視訊資料共用在羣檔案裏面,有需要的可以自行新增~
C++ 是一門程式語言,請注意它僅僅是一門程式語言。這句話的意思就是一旦有人在做語言好壞之爭的時候,一笑而過即可。特定的語言只是用來在特定的領域解決特定的問題,僅此而已,尤其是現在衆多語言紛飛的年代,這句話的正確性不容置疑。
在程式設計領域裏,每個人都會有他/她的入門語言,各持己見。我個人認爲 C 語言是一個很不錯的選擇,語法簡單,深度可深可淺,高階語言的鼻祖。很重要的一點是現今的各種程式語言,或多或少都是 C 語言的衍生品,或者是衍生品的衍生品。語言相通,只要 C 語言學好了,上手其他語言問題不大。C 語言的靈魂在於指針,指針可以幫助你更好的理解記憶體,理解操作系統的工作機理。
C++ 是一門爭議性語言,喜歡研究的人很多,吐槽的(包括一些大神級的人物)的人也很多。在 C/C++ 的時代(C/C++剛出道的時候),語言的可選性較少,所以 C++ 幹了 乾了許多事情,現在時代不一樣了,正如我前面所謂語言紛飛,針對性語言衆多,程式設計師的選擇性也就多了(有很多的優秀的語言可以去學,C#,java,php,python,ruby……),所以 C++ 不再是必須品。
在你開始學習之前,請慎重考慮一下,爲什麼要學?如果考慮好了,請繼續閱讀。
選擇一本好書
如果你發現以「數位」命名的書籍,請扔掉!(21天學通C++?)
如果你發現以「通」字樣命名的書籍,請扔掉!(零起點學通C++?C++從入門到精通?)
如果你發現把「Visual」 和 「C++」 聯繫起來的 C++ 教學,請扔掉!(太多了,不舉例了)
如果你發現「void main」作爲範例的書籍,請扔掉!
如果你發現「」作爲範例的書籍,請扔掉!
……
有幾本書可以供你選擇:《C++ Primer Plus》,《C++ Primer》,《C++程式設計語言》
小編入門用的是《C++入門經典》,繼而讀的是《C++ Primer》。其實好書和差書很容易區分,厚度和價位是一個很關鍵的點,通常薄薄的,又便宜,書名卻非常霸氣的告訴你如何精通,那你果斷扔了,想都不要想。
選擇一個好的IDE
請注意我強調的是IDE(整合開發環境),而不是套餐(GCC+VIM/EMACS+GDB+[linux]),對於一個初學者來說,一定要抓住重點。
初學者一定要相信這一點,網上太多人吹噓學 C++ 不應該用 IDE ,就應該直接 文字編輯器+GCC 用 GDB 偵錯,進而言語鄙視 IDE 。我不知道你抱着什麼心態,我只想說你入門是那樣入門的嗎?當時有沒有 IDE ?你瞭解 IDE 嗎?你公司用什麼開發?
對於一個入門新手,一個人性化的偵錯環境是必須的。當然,作爲一個 C++ 程式設計師的話,GCC/GDB 是必須要去瞭解的,linux 也是必須要會的。
參考標準:熟練掌握 C++ 語法結構,瞭解 C++ 主要模組,技術難點。大部分書上可以找到的知識點。
學習 C++ 要不要學習 C ?
作爲這樣的一篇文章,這個探討幾乎是必須要做的。
我的觀點很明確,要學!
因爲我先學 C 語言,後學的 C++ 的,而且學習使用過程中無數次穿插的相互學習。我的程式中從來沒有刻意的區分這是 C 還是 C++,我把握的標準是怎麼樣方便怎麼來。
就好像檔案讀寫我從來都不用 C++ 的檔案流,因爲我習慣了 C 語言的 fread、fwrite、 fopen、 fseek、 ftell 等等。
我是站在語言的語法和庫的角度來說「要學」的。如果你要學物件導向的話,那就沒必要學 C 了,好像也沒有學 C++ 的必要了,你可以選擇一個純物件導向的語言去學物件導向豈不更好。
總結,以我的個人經歷來說,學 C++ 可以先學習 C 語言(觀點已明確,探討結束!)。
要瞭解哪些東西呢?總結是兩點:語法和庫。所有的語言幾乎都是一樣的。
語法熟練的是必須的;熟練使用 STL 程式設計,物件導向思想不是一天兩天就可以有的,需要不斷的歷練和實戰才能 纔能培養出來的;物件導向在C++中的實現方式一定要熟(繼承,派生,虛擬函式等);模板的實參演繹要搞清楚。
怎麼學習C語言
希望我整理的 C語言的學習路線,能對你有幫助!
數據型別、變數、記憶體佈局、指針基礎;
字串、一維陣列、二維陣列;
一級指針,二級指針,三級指針,N級指針概念,指針陣列和陣列指針;
結構體、檔案的使用;
動態庫的封裝和設計;
函數指針回撥函數。
配套書籍:
如何實現入門?
參考標準:內部機理,奇淫技巧
如何實現進階?
最後給大家幾個忠告來結束本文吧:
多交流:不管你的技術多麼硬,你都不可能一個人做完所有的事情,你要學會與別人合作,與別人交流。交流過程中,要注意交流技巧。學會尊重別人,但要不亢不卑。
多動手:熟能生巧,這是萬能之理。我們乾的是技術活,最能證明自己能力的就是幹!不是扯淡!
多思考:不要做編碼機器。
多總結:相同的問題不可能只出現一次,尤其是在我們這個行業。總結是爲了你在以後更快的解決類似的問題,提高工作效率。
能說的還有很多,讓部落格待續……
對於自己找不到視訊、書籍資源的讀者,可以加小編的**C語言/C++交流羣:836880131!**整理了一些個人覺得比較好的學習書籍、視訊資料共用在羣檔案裏面,需要的可以自行新增下載即可~