會C語言,如何學好C

時間 2021-05-13 06:56:49

1樓:怪大叔

都說這個世界上最難的程式語言就是C++了。你千萬不要認為自己幾天就可以學好C++,C++的學習曲線是相當難學的,我都一度懷疑C++並不是一門成熟的程式語言,因為太容易犯錯了。所以,在學習的過程中你需要細心而耐心。

深入理解C++的原理,比如,你去想為什麼要有拷貝建構函式?為什麼要有初始化列表嗎?為什麼要有template,為什麼要有RTTI?

去通透的理解為什麼C++要設計成這樣?

多看書,下面這些書籍都是你學習C++的必經之路。

《C++ Primer》,這本初級讀本可能讓會你啃得很痛苦,所有的語言的特性和為什麼都在裡面了,好好讀讀。當然由C++之父寫的《C++程式語言》也不錯。兩本看一本就好了(我看的是前者)。

了解C++的語法僅僅是萬里長征的第一步,你還需要看看《Effective C++》和《More Effective C++》這兩本書並不厚,但我從02年就一直看到現在,每次讀我都有新的體會,這兩本書太經典了。如果你對C語言不熟,這兩本書會讓你回去補C語言的課。

Think in C++同樣是另一本經典之極的書,學c++必讀,但是中文版的翻譯的很不好,所以還是去讀英文版的吧。

《C++沉思錄》同樣非常值得一讀,這裡教的不是程式設計,而是思考的方法,這是相當珍貴的。

《Exceptional C++》和《More Exceptional C++》讓你看看各種問題的解決方法和一些常見的經典錯誤。

《Advanced C++》和《Modern C++》可以讓你知道C++各種神奇的用法。

《泛型程式設計與STL》是把C++實踐到了極致的東西。很強大。STL——神一樣的模板庫(容器,演算法和函式物件),不得不服。

《深入探索C++物件模型》讓你了解編譯器下的C++是什麼樣的,讓你了解C++的效能並不差。這個對於C++的程式設計師太關鍵了。我以前寫過的《C++虛函式表解析》還有《C++物件記憶體布局》屬於這個範疇。

2樓:Tim Shen

不要看任何中文材料。

不要看任何中文材料。

不要看任何中文材料。

至於C,忘得越乾淨越好。你要是學的是中國大學裡的C,不忘掉反而有害。

不要看書。

自己實現乙個標準的std::vector。

不知道怎麼寫就看標準庫怎麼寫的。

不知道標準庫寫的什麼意思就查http://cppreference.com

看不懂就看standard。

standard看不懂就去so上面問,注意顯示你已經做過功課了。

專心全職累計寫1個月(可以不連續),把個vector寫出來。

下一步寫std::shared_ptr。用虛函式。

這兩個寫完你工作的C++部分就夠了。工作中用到的那些pattern(譬如oop)一點就透。

如果工作不用,那你學了幹嘛?

我不覺得這很簡單,但我覺得這是最有效的學習方式。

3樓:

把C++當一門新語言就好了,先看《C++程式設計思想》,之後再看《effective C++》 和 《more effective C++》,全部看完,應該就差不多了。

4樓:江離

我也是現在自學C++。

話說平時用彙編多,C用得少,C基礎個人感覺還湊合,但是以後想轉方向,於是入了C++的坑。

當然C++primer 必學沒的說吧,該敲例程敲例程,該敲習題敲習題,沒事我就去找點小遊戲的原始碼看看,印證下學到的東西,能夠有想法修改下啦自然很讚不是?

當然,除了幾年前掃過一遍essential c++之外,到目前我才看了c++ primer剛好20天,當然還沒看完……

賣油翁不是說過嘛,「無他,唯手熟爾」,多想想多練練,語言是術而不是道,用點心總能夠掌握且能夠很好掌握的。

樓主加油↖(^ω^)↗

如何快速學好c語言的程式設計?

The One 建議從實踐出發,比如現在就去用C語言寫乙個桌面程式,你就會去了解寫乙個桌面程式具體需要用到哪些東西,哪些函式庫,不需要按著教材上的順序學,把你的想法變成實際,如果沒有想法就去模仿一些簡單的專案做個demo來完善自己的skills,你真正應該掌握的不是C語言,而是學習能力和解決問題的能...

C 語言會過時嗎?

豆芽 總有一點會無法滿足時代的要求。但是,有生之年,似乎還看不到。什麼時候c會消失呢?可能是另外一種更好的抽象的誕生導致c的被取代 可能是由於計算機模型的改變,導致c語言無法生存 李濟深 竊以為一門程式語言最不應該有的就是思想。有了思想就少了自由。同時語言本身的思想會束縛程式設計師的思想。C語言會過...

想學好linux就一定要學好C語言嗎?

qianguozheng 看你想怎麼學好。使用,不需要會shell,懂命令就可以了 深入了解為什麼?看看專業的分析,有很多原理性的東西修改,優化。這就需要用c語言了,看實現原始碼 望山 完全不學一點C語言的話,就連shell指令碼都寫不好,因為很多shell命令的返回值就是它內部使用的最後乙個API...