最近有朋友問我C++(or C)怎麼入門,其實這個還真不是很好回答的,想了下就寫下這篇博文以說下我自己的學習路程吧! 正兒八經的,其實我覺得自己也學得不咋地,不管是C還是C++都是如此的強大,要真正的說精通C++的,我覺得至少得花好幾年的時間吧。我是大學裡邊才接觸到電腦語言的(現大二),學校課程安 ...
最近有朋友問我C++(or C)怎麼入門,其實這個還真不是很好回答的,想了下就寫下這篇博文以說下我自己的學習路程吧!
正兒八經的,其實我覺得自己也學得不咋地,不管是C還是C++都是如此的強大,要真正的說精通C++的,我覺得至少得花好幾年的時間吧。我是大學裡邊才接觸到電腦語言的(現大二),學校課程安排是大學二年級才開始學習C++的,上手就是C++,還真有點驚訝,聽其他朋友說都是先學習C,然後再學習C++的,當時就覺得,看來我們學校對我們挺有信心嘛(心中美滋滋的)。
------------------------------------------------------------------------------------------進入正題啦
呀,這一不小心就偏了。(平時思想很跳躍,見諒)
接下來,我就說說從我開始學習C++開始談吧,當然C語言也差不多,具體的就是C++有面向對象方面的知識,但對於初學者來說,本文講解的內容相差不大,但如果你想學得更深入的話,就我自己的觀點來看,C和C++差別還真不是一般的大,不管是編程思想還是具體應用實現,我覺得真的把C和C++分開還是比較好,當然現在就是分開的(不然怎麼叫C語言、C++語言呢,你說是吧)
態度決定一切
對於初學者來說,首先應該有一個積極的學習態度(這個很重要)。畢竟學電腦可是一門苦修(我是這麼認為的,哈哈哈),哎呀,剛開始怎麼就說這氣氛,其實吧,什麼都有兩面性,當你認真投入學習,你會發現,這真的是一片新天地,時刻關註前沿,學習技術,不知不覺自己連聊天內容都不一樣了,吹牛也有說的拉(哈哈哈,開玩笑)
教材很重要
你得需要一本或者幾本學習教材。我這裡推薦呢還是希望你們用大學裡邊正在用的教材,具體的書籍名稱呢,我就不給你說啦,(反正我用的是《C++程式設計(第3版)》 譚浩強),當然你擁有了書還不完全夠哦。這本書主要是學習語法等基礎知識,真正的能力還是得實戰中學習,建議一邊學習一邊做書上的程式,自己想些或者網上搜些程式來寫,在學習期間,你若沒有編寫幾百行代碼的程式的經驗,你談何學習呢。當然,當你學習到後期,也就是基礎知識學得差不多了後,你就應該嘗試上千行代碼的程式了(記得我第一次寫[通訊錄管理系統](http://download.csdn.net/detail/chensanwa/9867525)寫了6個小時六百多行代碼,[銀行管理系統](http://download.csdn.net/detail/chensanwa/9866922)用面向對象編程,編寫+調試總共用了兩天的時間一千三百行左右的代碼,還記得那時我們正放五一)(大家也可以關註下我的CSDN哦!!!),當你寫了這種大型點的程式並正確運行,測試成功後,你心中那滋味,就跟剛耍了女朋友一樣,不信你試試!
視頻學習不可少
建議一邊學習書本知識,一邊看視頻學習。在課堂或者是自己學習C++的時候,加上在網上看視頻學習,效率會高很多,高到自己都不敢想象。我記得當時我學習的時候,上課都認真的聽講的(我們老師講得很好,知識點都講得很細,挺不錯的老師,為老師點贊),然後自己回寢室有時間就看[慕課網](http://www.imooc.com/)上的視頻教學,(額,這裡打個廣告拉,見諒),不過還真的有必要推薦各位看下,我看這個視頻學到了很多很多的知識,當然你得先自己學習過後,再看上邊的視頻,我看都是加速看的,主要是體驗那種和老師不一樣的講課思路,對同樣的知識,不同的講解,這真的學得很透徹也很有趣,然後再從整體上把握知識體系。當然,其他的很多教學網站上的視頻也相當不錯,我看過的還有[網易雲課堂-大一電腦入門課程](http://study.163.com/series/1001245003.htm),這個也是相當不錯的,上邊都是名校名師講解。至於其他網站的呢,就等你自己去發現了,我就不一一列舉了(學電腦的就是要有強烈的探索和求知欲望喲)
實踐吧,少年
到了這裡,其實你應該就有了相當不錯的基礎知識了,現在你需要提高下你自己的編程能力啦。首先,你需要提高下你自己編程小程式的能力,因為小程式考驗的才是真正的編程能力,大程式我覺得考驗的主要是邏輯方面吧,當然邏輯過後就是編程了(說明下,我這裡說的大小之分是以1000行代碼為劃分的啦,只是為了說明問題,還望不要專牛角尖哦)。推薦你網上搜索下一些刷題的網站,當然,對於初學者來說呢,我建議就到一些入門級的OJ網站就行了,當然很多學校都有自己的OJ,我當時是在[C語言網](http://www.dotcpp.com/)上刷了一百道題目左右吧,然後就基本就沒怎麼在上邊刷題了,當然,有很多的OJ都相當的不錯(POJ等),你上網搜索下就有很多推薦的,按照自己的學習目標來學習階段來選擇不同時期的OJ是最明智的選擇。這裡推薦的C語言網呢,主要是推薦初學者,但希望你們不要專上邊的某些題目,不要問我為什麼,因為這樣有益身心健康。
----------------------------------------------------------是不是感覺挺累的,不用擔心,接下來更累(一個挑事的微笑)
演算法才是大佬
到了現在,編程能力有所提高,你可能就會感覺怎麼OJ上邊的一些題目怪怪的,其實,這不叫怪啦,這叫深沉(哈哈哈,開玩笑)。這就關乎到了我們接下來要講解的重點了,那就是[演算法](https://baike.baidu.com/item/%E7%AE%97%E6%B3%95/209025?fr=aladdin),這也是電腦專業學生的核心基礎課程(我個人挺喜歡演算法)。換句話說,就是你現在沒有學習到相應的演算法,你可能會上網搜索下題目的答案,或許能看懂,但不是很明白,那麼現在你就需要學習新知識了(恭喜你啦),那就是基礎演算法的學習,(我準備再寫一篇博文,關於我演算法入門的,一些經驗和感悟吧)(哈哈哈,又有廣告了是吧,不急,我們接著看。)。
我這裡就簡單的說下基礎演算法的學習,同樣的,按照上邊的講解,你需要書籍,推薦劉汝佳的《演算法競賽入門經典(第二版)》(我現在也還在學習),挺不錯的入門書籍,還有其他的就自行百度吧,還有就是你最好還是找點視頻資料學習,我看過哈工大的演算法設計與分析入門課程,上邊也講得挺不錯的,是根據《演算法導論》的體繫結構來講得,至於其他的一些資源呢,就讀者自己去探索吧,還有很多哦。
一展身手
到了這裡,其實你已經有了一定的能力了,你可以去參加一些演算法的比賽了,當然我建議一邊學習的時候就應該關註一些線上或者線下的演算法比賽,在很多的OJ系統,比如前邊推薦的幾個網站上邊每個月都有舉行比賽,其實還有很多演算法比賽(GCJ,百度之星,編程之美,ACM等),就交給聰明的你啦
-------------------------------------------------------------唔,終於要寫完了
抽象?
面向對象編程。在這個部分呢,我就簡單的講下麵向對象的一些認識吧,這也是C++區別於C的一個板塊,因為有了面向對象,有人稱C++為“帶類的C”。我個人理解的面向對象是一種思維,一種邏輯,大家在初學的時候不必糾結什麼叫做面向對象編程,面向過程編程,你現在的任務應該是我要用編程來解決這個問題,然後你就想方設法的去想解決的辦法就行了。當然,如果你實在是想深究下呢,就推薦以看看一些牛人博客論文吧,(如果看到說得好的,記得給我留言分享喲,在此先謝謝啦)。然後就是MFC的學習,這個類庫呢我這裡就不講解了,對於初學者來說,只需要知道具體的類的使用就行,推薦上網看下資料啦(偷下懶就不給鏈接啦)
說明欄目
說的也差不多就是這些了,如果有什麼遺漏的地方我會在後邊補充。對於這篇博文呢,我是按照自己的學習經驗來寫的,如果有什麼地方寫得不對的,歡迎留言評論。若有侵權,還望留言,我會及時刪除。
交友欄目
QQ-1-4-8-6-9-0-4-0-6-9,歡迎各位朋友來擾,博主喜歡交友噢