程序員入門篇,如何學(xué)習(xí)C語言C加加快速入門

學(xué)習(xí)C語言不是一朝一夕的事情擅耽,但也不需要花費十年時間才能精通活孩。如何以最小的代價學(xué)習(xí)并精通C語言是本文的主題。請注意乖仇,即使是“最小的代價”憾儒,也絕不是什么捷徑,而是以最短的時間取得最多的收獲乃沙,同時也意味著你需要經(jīng)歷艱苦的過程起趾。

一、要讀就讀好書警儒,否則不如不讀

所有初學(xué)者面臨的第一個問題便是:如何選擇教材训裆。好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素蜀铲。不幸的是边琉,學(xué)校通常會幫你指定一本很差勁的C語言課本;而幸運的是记劝,你還可以再次選擇变姨。

大名鼎鼎的譚浩強教授出了一本《C語言程序設(shè)計》,據(jù)說發(fā)行量有超過400萬厌丑,據(jù)我所知定欧,很多學(xué)校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差怒竿,但我是無比堅定地黑他這本書的砍鸠。這本書不是寫給計算機專業(yè)的學(xué)生的,而是給那些需要考計算機等級考試的其它專業(yè)學(xué)生看的耕驰。這本書的主要缺點是:例子程序非常不專業(yè)爷辱,不能教給你程序設(shè)計應(yīng)該掌握的思考方式;程序風(fēng)格相當(dāng)?shù)夭缓茫瑫屇沭B(yǎng)成亂寫代碼的惡習(xí)饭弓;錯誤太多巩检,曾經(jīng)有人指出過這本書的上百個錯誤,其中不乏關(guān)鍵的概念性錯誤示启。好了,這本書我也不想說太多了领舰,有興趣大家可以百度一下:)

Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設(shè)計語言》)堪稱經(jīng)典中的經(jīng)典夫嗓,不過舊版的很多內(nèi)容都已過時,和現(xiàn)在的標(biāo)準(zhǔn)C語言相去甚遠(yuǎn)冲秽,大家一定要看最新的版本舍咖,否則不如不看。另外锉桑,即使是最經(jīng)典最權(quán)威的書排霉,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的民轴」ツ《C語言參考手冊》就是《C Reference Manual》,是C語言標(biāo)準(zhǔn)的詳細(xì)描述后裸,包括絕大多數(shù)C標(biāo)準(zhǔn)庫函數(shù)的細(xì)節(jié)瑰钮,算得上是最好的標(biāo)準(zhǔn)C語言的工具書。順便提一句微驶,最新的《C程序設(shè)計語言》是根據(jù)C89標(biāo)準(zhǔn)修訂的浪谴,而《C語言參考手冊》描述的是C99標(biāo)準(zhǔn),二者可能會有些出入因苹,建議按照C99標(biāo)準(zhǔn)學(xué)習(xí)苟耻。還有一本《C和指針》,寫得也是相當(dāng)?shù)夭诲e扶檐,英文名是《Pointers on C》凶杖,特別地強調(diào)指針的重要性,算是本書的一個特點吧蘸秘。不過這本書并不十分適合初學(xué)者官卡,如果你曾經(jīng)學(xué)過C語言,有那么一些C語言的基礎(chǔ)但又不是很扎實醋虏,那么你可以嘗試一下這本書寻咒。我相信,只要你理解了指針颈嚼,C語言便不再神秘毛秘。

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

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

二、Unix/Linux還是Windows衣撬,這是個很大的問題

不同的編程環(huán)境會造就出不同思維的程序員乖订。Windows的程序員大多依賴集成開發(fā)環(huán)境,比如Visual Studio具练,而Unix程序員更加鐘愛Makefile與控制臺乍构。顯而易見,集成開發(fā)環(huán)境更容易上手扛点,在Windows上學(xué)習(xí)C語言哥遮,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World陵究!了眠饮,而在Unix下,你需要一些控制臺操作的基本知識铜邮。有人也許認(rèn)為Unix的環(huán)境更簡潔仪召,但習(xí)慣的力量是很大的寨蹋,大家都很熟悉Windows的基本操作,而為了學(xué)習(xí)C語言去專門裝一個Unix系統(tǒng)扔茅,似乎有點不劃算已旧。

對于一個只懂得Windows基本操作、連DOS是什么都不知道的新手而言召娜,盡快做一些有趣而有意義的事情才是最重要的运褪。用C語言寫一個小程序遠(yuǎn)比學(xué)習(xí)ls、cat等命令有趣玖瘸,況且我們要專注于C語言本身吐句,就不得不暫時忽略一些東西,比如編譯鏈接的過程店读、Makefile的寫法等等等等。

所以我建議初學(xué)者應(yīng)該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學(xué)習(xí)環(huán)境攀芯,而且千萬不要在IDE的使用技巧上過多糾纏屯断,因為今后你一定要轉(zhuǎn)向Unix環(huán)境的。Visual C++ 6.0使用很方便侣诺,調(diào)試也很直觀殖演,但其默認(rèn)的編譯器對C標(biāo)準(zhǔn)的支持并不好,而Dev C++使用gcc編譯器年鸳,對C99的標(biāo)準(zhǔn)都支持良好趴久。使用順帶提一下,很多大學(xué)的C語言課程還在使用Turbo C 2.0作為實驗環(huán)境搔确,這是相當(dāng)不可取的彼棍,原因其一是TC 2.0對C標(biāo)準(zhǔn)幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的膳算,這對今后理解32位的程序會造成極大的困擾(當(dāng)然座硕,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過于復(fù)雜了)涕蜂。

等你學(xué)完一本C語言的教材华匾,你一定要轉(zhuǎn)向Unix平臺繼續(xù)學(xué)習(xí),幾乎所有的C語言高級教程都是基于Unix平臺的(比如《C專家編程》)机隙。轉(zhuǎn)變的過程是痛苦的蜘拉,你需要面對的是各種紛繁復(fù)雜的命令,完全不同于Windows平臺的思考方式有鹿,但是這種痛苦是值得的旭旭。Unix與C是共生的,Unix的思考方式和習(xí)慣更加符合C語言的思考方式和習(xí)慣印颤。在Unix下您机,你可以找到無數(shù)優(yōu)秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數(shù)的聯(lián)機手冊,還可以看到最優(yōu)秀的代碼風(fēng)格

歸結(jié)起來就是一句話:初學(xué)C語言际看,建議使用Windows系統(tǒng)和集成開發(fā)環(huán)境咸产,在準(zhǔn)備向“高手”方向努力時,請先轉(zhuǎn)向Unix平臺仲闽。

這些是C/C++能做的工作?

服務(wù)器開發(fā)工程師脑溢、人工智能、云計算工程師赖欣、信息安全(黑客反黑客)屑彻、大數(shù)據(jù) 、數(shù)據(jù)平臺顶吮、嵌入式工程師社牲、流媒體服務(wù)器、數(shù)據(jù)控解悴了、圖像處理搏恤、音頻視頻開發(fā)工程師、游戲服務(wù)器湃交、分布式系統(tǒng)熟空、游戲輔助等

再多的文字也表達不完我們要學(xué)的東西,所以希望需要學(xué)習(xí)的朋友可以加入↓

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搞莺,一起剝皮案震驚了整個濱河市息罗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌才沧,老刑警劉巖迈喉,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異温圆,居然都是意外死亡弊添,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門捌木,熙熙樓的掌柜王于貴愁眉苦臉地迎上來油坝,“玉大人,你說我怎么就攤上這事刨裆〕喝Γ” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵帆啃,是天一觀的道長瞬女。 經(jīng)常有香客問我,道長努潘,這世上最難降的妖魔是什么诽偷? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任坤学,我火速辦了婚禮,結(jié)果婚禮上报慕,老公的妹妹穿的比我還像新娘深浮。我一直安慰自己,他們只是感情好眠冈,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布飞苇。 她就那樣靜靜地躺著,像睡著了一般蜗顽。 火紅的嫁衣襯著肌膚如雪布卡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天雇盖,我揣著相機與錄音忿等,去河邊找鬼。 笑死崔挖,一個胖子當(dāng)著我的面吹牛这弧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播虚汛,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼皇帮!你這毒婦竟也來了卷哩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤属拾,失蹤者是張志新(化名)和其女友劉穎将谊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渐白,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡尊浓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了纯衍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栋齿。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖襟诸,靈堂內(nèi)的尸體忽然破棺而出瓦堵,到底是詐尸還是另有隱情,我是刑警寧澤歌亲,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布菇用,位于F島的核電站,受9級特大地震影響陷揪,放射性物質(zhì)發(fā)生泄漏惋鸥。R本人自食惡果不足惜杂穷,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卦绣。 院中可真熱鬧耐量,春花似錦、人聲如沸迎卤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗搔。三九已至劲藐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間樟凄,已是汗流浹背聘芜。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缝龄,地道東北人汰现。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像叔壤,于是被迫代替她去往敵國和親瞎饲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容