主頁(yè) > 教育培訓(xùn) > 電腦培訓(xùn) > 如何學(xué)習(xí)c語(yǔ)言 零基礎(chǔ)C語(yǔ)言學(xué)習(xí)方法

如何學(xué)習(xí)c語(yǔ)言 零基礎(chǔ)C語(yǔ)言學(xué)習(xí)方法

  學(xué)習(xí)C語(yǔ)言不是一朝一夕的事情,但也不需要花費(fèi)十年時(shí)間才能精通。如何以最小的代價(jià)學(xué)習(xí)并精通C語(yǔ)言是本文的主題。請(qǐng)注意,即使是“最小的代價(jià)”,也絕不是什么捷徑,而是以最短的時(shí)間取得最多的收獲,同時(shí)也意味著你需要經(jīng)歷艱苦的過(guò)程。

  一、要讀就讀好書(shū),否則不如不讀

  所有初學(xué)者面臨的第一個(gè)問(wèn)題便是:如何選擇教材。好的開(kāi)始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素。不幸的是,學(xué)校通常會(huì)幫你指定一本很差勁的C語(yǔ)言課本;而幸運(yùn)的是,你還可以再次選擇。

  大名鼎鼎的譚浩強(qiáng)教授出了一本《C語(yǔ)言程序設(shè)計(jì)》,據(jù)說(shuō)發(fā)行量有超過(guò)400萬(wàn),據(jù)我所知,很多學(xué)校都會(huì)推薦這本書(shū)作為C語(yǔ)言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無(wú)比堅(jiān)定地黑他這本書(shū)的。這本書(shū)不是寫(xiě)給計(jì)算機(jī)專(zhuān)業(yè)的學(xué)生的,而是給那些需要考計(jì)算機(jī)等級(jí)考試的其它專(zhuān)業(yè)學(xué)生看的。這本書(shū)的主要缺點(diǎn)是:例子程序非常不專(zhuān)業(yè),不能教給你程序設(shè)計(jì)應(yīng)該掌握的思考方式;程序風(fēng)格相當(dāng)?shù)夭缓?,?huì)讓你養(yǎng)成亂寫(xiě)代碼的惡習(xí);錯(cuò)誤太多,曾經(jīng)有人指出過(guò)這本書(shū)的上百個(gè)錯(cuò)誤,其中不乏關(guān)鍵的概念性錯(cuò)誤。好了,這本書(shū)我也不想說(shuō)太多了,有興趣大家可以百度一下:)

  Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設(shè)計(jì)語(yǔ)言》)堪稱經(jīng)典中的經(jīng)典,不過(guò)舊版的很多內(nèi)容都已過(guò)時(shí),和現(xiàn)在的標(biāo)準(zhǔn)C語(yǔ)言相去甚遠(yuǎn),大家一定要看最新的版本,否則不如不看。另外,即使是最經(jīng)典最權(quán)威的書(shū),也沒(méi)有辦法面面俱到,所以手邊常備一本《C語(yǔ)言參考手冊(cè)》是十分必要的。《C語(yǔ)言參考手冊(cè)》就是《C Reference Manual》,是C語(yǔ)言標(biāo)準(zhǔn)的詳細(xì)描述,包括絕大多數(shù)C標(biāo)準(zhǔn)庫(kù)函數(shù)的細(xì)節(jié),算得上是最好的標(biāo)準(zhǔn)C語(yǔ)言的工具書(shū)。順便提一句,最新的《C程序設(shè)計(jì)語(yǔ)言》是根據(jù)C89標(biāo)準(zhǔn)修訂的,而《C語(yǔ)言參考手冊(cè)》描述的是C99標(biāo)準(zhǔn),二者可能會(huì)有些出入,建議按照C99標(biāo)準(zhǔn)學(xué)習(xí)。還有一本《C和指針》,寫(xiě)得也是相當(dāng)?shù)夭诲e(cuò),英文名是《Pointers on C》,特別地強(qiáng)調(diào)指針的重要性,算是本書(shū)的一個(gè)特點(diǎn)吧。不過(guò)這本書(shū)并不十分適合初學(xué)者,如果你曾經(jīng)學(xué)過(guò)C語(yǔ)言,有那么一些C語(yǔ)言的基礎(chǔ)但又不是很扎實(shí),那么你可以嘗試一下這本書(shū)。我相信,只要你理解了指針,C語(yǔ)言便不再神秘。

  如果你已經(jīng)啃完了一本C語(yǔ)言教材,想要更進(jìn)一步,那么有兩本書(shū)你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊(cè)子,內(nèi)容非常非常地有趣。要注意一點(diǎn),這本書(shū)是二十多年前寫(xiě)成的,里面提到的很多C語(yǔ)言的缺陷都已被改進(jìn),不過(guò)能夠了解一些歷史也不是什么壞事。然后你可以挑戰(zhàn)一下《Expert C Programming》(中譯名《C專(zhuān)家編程》),書(shū)如其名,這本書(shū)頗具難度,一旦你仔細(xì)讀完并能透徹理解,你便可以放心大膽地在簡(jiǎn)歷上寫(xiě)“精通C語(yǔ)言”了。

  切記一個(gè)原則,不要讀自己目前還看不懂的書(shū),那是浪費(fèi)生命。如果你看不懂,那你一定是缺失了某些必需基礎(chǔ)知識(shí)。此時(shí),你要仔細(xì)分析自己需要補(bǔ)充哪些內(nèi)容,然后再去書(shū)店尋找講述的這些內(nèi)容的書(shū)籍。把基礎(chǔ)知識(shí)補(bǔ)充完畢再回頭來(lái)學(xué)習(xí),才會(huì)真正的事半功倍。

  二、Unix/Linux還是Windows,這是個(gè)很大的問(wèn)題

  不同的編程環(huán)境會(huì)造就出不同思維的程序員。Windows的程序員大多依賴集成開(kāi)發(fā)環(huán)境,比如Visual Studio,而Unix程序員更加鐘愛(ài)Makefile與控制臺(tái)。顯而易見(jiàn),集成開(kāi)發(fā)環(huán)境更容易上手,在Windows上學(xué)習(xí)C語(yǔ)言,只需要會(huì)按幾個(gè)基本的Visutal C++工具欄按鈕就可以開(kāi)始寫(xiě)Hello, World!了,而在Unix下,你需要一些控制臺(tái)操作的基本知識(shí)。有人也許認(rèn)為Unix的環(huán)境更簡(jiǎn)潔,但習(xí)慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學(xué)習(xí)C語(yǔ)言去專(zhuān)門(mén)裝一個(gè)Unix系統(tǒng),似乎有點(diǎn)不劃算。

  對(duì)于一個(gè)只懂得Windows基本操作、連DOS是什么都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語(yǔ)言寫(xiě)一個(gè)小程序遠(yuǎn)比學(xué)習(xí)ls、cat等命令有趣,況且我們要專(zhuān)注于C語(yǔ)言本身,就不得不暫時(shí)忽略一些東西,比如編譯鏈接的過(guò)程、Makefile的寫(xiě)法等等等等。

免責(zé)聲明:該文觀點(diǎn)僅代表作者本人,查查吧平臺(tái)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請(qǐng)發(fā)送郵件至85868317@qq.com舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。返回查查吧首頁(yè),查看更多>>
提示

該文觀點(diǎn)僅代表作者本人,查查吧平臺(tái)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)空間服務(wù),不承擔(dān)相關(guān)法律責(zé)任。圖片涉及侵權(quán)行為,請(qǐng)發(fā)送郵件至85868317@qq.com舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

優(yōu)惠商城

更多