初學(xué)者怎么學(xué)習(xí)c++
初學(xué)者怎么學(xué)習(xí)c++
都說Javascript是世界上最受誤解的語言,其實C++何嘗不是。下面學(xué)習(xí)啦小編收集了一些關(guān)于學(xué)習(xí)c++的方法,希望對你有幫助
學(xué)習(xí)c++方法1
找一本好的書本教材,輔助看教學(xué)視頻。好的教材,可以讓你更快更好的進(jìn)入C/C++的世界。在校學(xué)生的話,你們的教材通常都是不錯的。如果是自學(xué),推薦使用譚浩強(qiáng)出的C/C++經(jīng)典入門教材??匆曨l是學(xué)習(xí)比較直觀的方式。建議先看課本,不懂的地方,更看視頻,這樣效果更好。推薦看孫鑫的教學(xué)視頻。
學(xué)好基本語法,弄清C/C++的特點(diǎn)學(xué)習(xí)C/C++,說白了,就是學(xué)習(xí)它的語法、功能、結(jié)構(gòu)等。然后按照它的語法編寫代碼。C/C++語法是學(xué)習(xí)的根本。開始學(xué)習(xí)時,可能有些難懂。沒關(guān)系,這很正常。多看多問,多實踐,慢慢的你就入門了。
沒有捷徑,一定要多動手實踐學(xué)習(xí)C/C++,和學(xué)數(shù)學(xué)一樣,在學(xué)懂理論后,一定要實踐。學(xué)習(xí)C/C++不能搭便車。有時候,語法和例子很簡單,很容易看懂,但到自己動手寫的時候,又是另一種感覺。只有多動手編程,哪怕是簡單的小程序,重復(fù)實現(xiàn)書上簡單的例子,也是在積累和提高。
擇合適發(fā)環(huán)境自C/C++誕生以來,出現(xiàn)了很多編程環(huán)境。綜合界面友好、易用性等,開始學(xué)習(xí)C、C++時,推薦使用經(jīng)典的VC++6.0開發(fā)環(huán)境,至今還在廣泛的使用。當(dāng)你覺得C++已經(jīng)比較深入時,可以改成VS2010或者VS2012等。這類開發(fā)環(huán)境里集成了大量的C++類庫和開發(fā)工具,使得你可以快速開發(fā)出高水平的軟件。
學(xué)習(xí)c++方法2
1、 學(xué)習(xí)一門腳本語言,例如Python/Ruby
可以讓你擺脫對底層語言的恐懼感,腳本語言可以讓你很快開發(fā)出能用得上的小程序。實踐項目:
處理文本文件,或者csv (關(guān)鍵詞 python csv, python open, python sys) 讀一個本地文件,逐行處理(例如 word count,或者處理log)
遍歷本地文件系統(tǒng) (sys, os, path),例如寫一個程序統(tǒng)計一個目錄下所有文件大小并按各種條件排序并保存結(jié)果
跟數(shù)據(jù)庫打交道 (python sqlite),寫一個小腳本統(tǒng)計數(shù)據(jù)庫里條目數(shù)量
學(xué)會用各種print之類簡單粗暴的方式進(jìn)行調(diào)試
學(xué)會用Google (phrase, domain, use reader to follow tech blogs)
為什么要學(xué)腳本語言,因為他們實在是太方便了,很多時候我們需要寫點(diǎn)小工具或是腳本來幫我們解決問題,你就會發(fā)現(xiàn)正規(guī)的編程語言太難用了。
2、 用熟一種程序員的編輯器(不是IDE) 和一些基本工具
Vim / Emacs / Notepad++,學(xué)會如何配置代碼補(bǔ)全,外觀,外部命令等。
Source Insight (或 ctag)
使用這些東西不是為了Cool,而是這些編輯器在查看、修改代碼/配置文章/日志會更快更有效率。
3、 熟悉Unix/Linux Shell和常見的命令行
如果你用windows,至少學(xué)會用虛擬機(jī)里的linux, vmware player是免費(fèi)的,裝個Ubuntu吧
一定要少用少用圖形界面。
學(xué)會使用man來查看幫助
文件系統(tǒng)結(jié)構(gòu)和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …
學(xué)會使用一些文本操作命令 sed/awk/grep/tail/less/more …
學(xué)會使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd…
了解/etc目錄下的各種配置文章,學(xué)會查看/var/log下的系統(tǒng)日志,以及/proc下的系統(tǒng)運(yùn)行信息
了解正則表達(dá)式,使用正則表達(dá)式來查找文件。
對于程序員來說Unix/Linux比Windows簡單多了。(參看我四年前CSDN的博文《其實Unix很簡單》)學(xué)會使用Unix/Linux你會發(fā)現(xiàn)圖形界面在某些時候?qū)嵲谑翘y用了,相當(dāng)?shù)叵喈?dāng)?shù)亟档凸ぷ餍省?/p>
4、 學(xué)習(xí)Web基礎(chǔ)(HTML/CSS/JS) + 服務(wù)器端技術(shù) (LAMP)
未來必然是Web的世界,學(xué)習(xí)WEB基礎(chǔ)的最佳網(wǎng)站是W3School。
學(xué)習(xí)HTML基本語法
學(xué)習(xí)CSS如何選中HTML元素并應(yīng)用一些基本樣式(關(guān)鍵詞:box model)
學(xué)會用 Firefox + Firebug 或 chrome 查看你覺得很炫的網(wǎng)頁結(jié)構(gòu),并動態(tài)修改。
學(xué)習(xí)使用Javascript操縱HTML元件。理解DOM和動態(tài)網(wǎng)頁(http://oreilly.com/catalog/9780596527402) 網(wǎng)上有免費(fèi)的章節(jié),足夠用了?;騾⒖?DOM 。
學(xué)會用 Firefox + Firebug 或 chrome 調(diào)試Javascript代碼(設(shè)置斷點(diǎn),查看變量,性能,控制臺等)
在一臺機(jī)器上配置Apache 或 Nginx
學(xué)習(xí)PHP,讓后臺PHP和前臺HTML進(jìn)行數(shù)據(jù)交互,對服務(wù)器相應(yīng)瀏覽器請求形成初步認(rèn)識。實現(xiàn)一個表單提交和反顯的功能。
把PHP連接本地或者遠(yuǎn)程數(shù)據(jù)庫 MySQL(MySQL 和 SQL現(xiàn)學(xué)現(xiàn)用夠了)
學(xué)習(xí)一個javascript庫(例如jQuery 或 ExtJS)+ Ajax (異步讀入一個服務(wù)器端圖片或者數(shù)據(jù)庫內(nèi)容)+JSON數(shù)據(jù)格式。
HTTP: The Definitive Guide 讀完前4章你就明白你每天上網(wǎng)用瀏覽器的時候發(fā)生的事情了(proxy, gateway, browsers)
做個小網(wǎng)站(例如:一個小的留言板,支持用戶登錄,Cookie/Session,增、刪、改、查,上傳圖片附件,分頁顯示)
買個域名,租個空間,做個自己的網(wǎng)站。
關(guān)于學(xué)習(xí)c++的書
《C++ Primer》,這本初級讀本可能讓會你啃得很痛苦,所有的語言的特性和為什么都在里面了,好好讀讀。當(dāng)然由C++之父寫的《C++程序設(shè)計語言》也不錯。兩本看一本就好了(我看的是前者)。
了解C++的語法僅僅是萬里長征的第一步,你還需要看看《Effective C++》和《More Effective C++》這兩本書并不厚,但我從02年就一直看到現(xiàn)在,每次讀我都有新的體會,這兩本書太經(jīng)典了。如果你對C語言不熟,這兩本書會讓你回去補(bǔ)C語言的課。
Think in C++同樣是另一本經(jīng)典之極的書,學(xué)c++必讀,但是中文版的翻譯的很不好,所以還是去讀英文版的吧。
《C++沉思錄》同樣非常值得一讀,這里教的不是編程,而是思考的方法,這是相當(dāng)珍貴的。
《Exceptional C++》和《More Exceptional C++》讓你看看各種問題的解決方法和一些常見的經(jīng)典錯誤。
《Advanced C++》和《Modern C++》可以讓你知道C++各種神奇的用法。
《泛型編程與STL》是把C++實踐到了極致的東西。很強(qiáng)大。STL——神一樣的模板庫(容器,算法和函數(shù)對象),不得不服。
《深入探索C++對象模型》讓你了解編譯器下的C++是什么樣的,讓你了解C++的性能并不差。這個對于C++的程序員太關(guān)鍵了。我以前寫過的《C++虛函數(shù)表解析》還有《C++對象內(nèi)存布局》屬于這個范疇。
猜你感興趣: