六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦>學(xué)習(xí)方法>通用學(xué)習(xí)方法>學(xué)習(xí)經(jīng)驗(yàn)>

初學(xué)者應(yīng)該怎么學(xué)習(xí)c語(yǔ)言

時(shí)間: 威敏1027 分享

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

所有初學(xué)者面臨的第一個(gè)問(wèn)題便是:如何選擇教材。好的開始是成功的一半,選擇一本優(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ì)推薦這本書作為C語(yǔ)言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無(wú)比堅(jiān)定地黑他這本書的。這本書不是寫給計(jì)算機(jī)專業(yè)的學(xué)生的,而是給那些需要考計(jì)算機(jī)等級(jí)考試的其它專業(yè)學(xué)生看的。這本書的主要缺點(diǎn)是:例子程序非常不專業(yè),不能教給你程序設(shè)計(jì)應(yīng)該掌握的思考方式;程序風(fēng)格相當(dāng)?shù)夭缓?,?huì)讓你養(yǎng)成亂寫代碼的惡習(xí);錯(cuò)誤太多,曾經(jīng)有人指出過(guò)這本書的上百個(gè)錯(cuò)誤,其中不乏關(guān)鍵的概念性錯(cuò)誤。好了,這本書我也不想說(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)威的書,也沒有辦法面面俱到,所以手邊常備一本《C語(yǔ)言參考手冊(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ǔ)言的工具書。順便提一句,最新的《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和指針》,寫得也是相當(dāng)?shù)夭诲e(cuò),英文名是《Pointers on C》,特別地強(qiáng)調(diào)指針的重要性,算是本書的一個(gè)特點(diǎn)吧。不過(guò)這本書并不十分適合初學(xué)者,如果你曾經(jīng)學(xué)過(guò)C語(yǔ)言,有那么一些C語(yǔ)言的基礎(chǔ)但又不是很扎實(shí),那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語(yǔ)言便不再神秘。

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

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

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

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

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

所以我建議初學(xué)者應(yīng)該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學(xué)習(xí)環(huán)境,而且千萬(wàn)不要在IDE的使用技巧上過(guò)多糾纏,因?yàn)榻窈竽阋欢ㄒD(zhuǎn)向Unix環(huán)境的。Visual C++ 6.0使用很方便,調(diào)試也很直觀,但其默認(rèn)的編譯器對(duì)C標(biāo)準(zhǔn)的支持并不好,而Dev C++使用gcc編譯器,對(duì)C99的標(biāo)準(zhǔn)都支持良好。使用順帶提一下,很多大學(xué)的C語(yǔ)言課程還在使用Turbo C 2.0作為實(shí)驗(yàn)環(huán)境,這是相當(dāng)不可取的,原因其一是TC 2.0對(duì)C標(biāo)準(zhǔn)幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對(duì)今后理解32位的程序會(huì)造成極大的困擾(當(dāng)然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過(guò)那過(guò)于復(fù)雜了)。

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

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

1.學(xué)習(xí)基本的語(yǔ)法

例如:數(shù)據(jù)類型int、double的含義、使用和背景;邏輯判斷if的使用;流程控制的循環(huán)while\for的使用;函數(shù)的調(diào)用;

2.編寫基本語(yǔ)法的代碼

學(xué)完基本的語(yǔ)法,熟悉了之后,針對(duì)這些基本語(yǔ)法,寫一些基本的代碼來(lái)練習(xí),鞏固。在寫代碼的過(guò)程中熟悉基本語(yǔ)法。第1步只是學(xué)習(xí)理論,這一步就是鞏固基本語(yǔ)法,是通過(guò)實(shí)踐來(lái)鞏固,實(shí)踐就是寫代碼,能夠運(yùn)行通過(guò),才表示正確。這一步是最基本的一步寫代碼。

3.混合使用語(yǔ)法實(shí)現(xiàn)復(fù)雜的功能

各個(gè)基本的語(yǔ)法點(diǎn)都掌握了,要開始找一些實(shí)用小程序來(lái)綜合練習(xí),就好像是物理考試的最后幾個(gè)大題一樣。綜合練習(xí)就是加深各個(gè)基本語(yǔ)法的理解和混合使用。這也就是項(xiàng)目經(jīng)驗(yàn)的基礎(chǔ)。這里會(huì)遇到各種混合使用中因?yàn)樽约翰皇於鲆姷母鞣N錯(cuò)誤,也就是積累經(jīng)驗(yàn)的過(guò)程。

4.寫多了,遇到的坑多了,然后就理解了語(yǔ)法,記住了用法。無(wú)法使用英語(yǔ)學(xué)習(xí)的強(qiáng)行記憶,是行不通的。

5.自己寫一個(gè)完整的可以供他人實(shí)際使用的程序

比如可以寫一個(gè)完整的計(jì)算器、一個(gè)完整的通訊錄、一個(gè)成績(jī)統(tǒng)計(jì)分析程序、圖書管理系統(tǒng)。這里會(huì)涉及到各種語(yǔ)法知識(shí),也是真正大量積累項(xiàng)目經(jīng)驗(yàn)的時(shí)候了。這些完整的程序就是小項(xiàng)目了。這些都能夠做好后,就可以開始寫大項(xiàng)目了。這些完整程序都要以實(shí)際的需要來(lái)做,不能繞過(guò),要直面需求。可以直接解決,可以換個(gè)思路解決,這是鍛煉自己的過(guò)程。

做完了這5步,C語(yǔ)言也就學(xué)好了。學(xué)習(xí)C語(yǔ)言,絕對(duì)不是簡(jiǎn)單學(xué)習(xí)一下語(yǔ)法而已。5步做完,才真正的學(xué)完了C語(yǔ)言基礎(chǔ)。

C Primer Plus是非常適合完全自學(xué)C語(yǔ)言的書籍了。根據(jù)這個(gè)5步的前3步,這本書里有對(duì)應(yīng)的聯(lián)系,后面兩步需要自己來(lái)找程序開發(fā)。

1.簡(jiǎn)潔緊湊、靈活方便

C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。

2.運(yùn)算符豐富

C的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富,表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。

3.數(shù)據(jù)結(jié)構(gòu)豐富

C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等,能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類型的運(yùn)算,并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器,且計(jì)算功能、邏輯判斷功能強(qiáng)大。

4. C是結(jié)構(gòu)式語(yǔ)言

結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?便于使用、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。

5. C語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大

雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫者有較大的自由度。

6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作

因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,能夠像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)寫系統(tǒng)軟件。

7. C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高

一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。

8. C語(yǔ)言適用范圍大,可移植性好

C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX,也適用于多種機(jī)型。

1)多久能學(xué)會(huì)編程?

這是一個(gè)沒有答案的問(wèn)題。每個(gè)人投入的時(shí)間、學(xué)習(xí)效率和基礎(chǔ)都不一樣。如果你每天都拿出大把的時(shí)間來(lái)學(xué)習(xí),那么兩三個(gè)月就可以學(xué)會(huì)C/C++,不到半年時(shí)間就可以編寫出一些軟件。

但是有一點(diǎn)可以肯定,幾個(gè)月從小白成長(zhǎng)為大神是絕對(duì)不可能的。要想出類拔萃,沒有幾年功夫是不行的。學(xué)習(xí)編程不是看幾本書就能搞定的,需要你不斷的練習(xí),編寫代碼,積累零散的知識(shí)點(diǎn),代碼量跟你的編程水平直接相關(guān),沒有幾萬(wàn)行代碼,沒有拿得出手的作品,怎能稱得上“大神”。

每個(gè)人程序員都是這樣過(guò)來(lái)的,開始都是一頭霧水,連輸出九九乘法表都很吃力,只有通過(guò)不斷練習(xí)才能熟悉,這是一個(gè)強(qiáng)化思維方式的過(guò)程。

知識(shí)點(diǎn)可以在短時(shí)間內(nèi)了解,但是思維方式和編程經(jīng)驗(yàn)需要不斷實(shí)踐才能強(qiáng)化,這就是為什么很多初學(xué)者已經(jīng)了解了C語(yǔ)言的基本概念,但是仍然不會(huì)編寫代碼的原因。

程序員被戲稱為“碼農(nóng)”,意思是寫代碼的農(nóng)民,要想成為一個(gè)合格的農(nóng)民,必須要腳踏實(shí)地辛苦耕耘。

也不要壓力太大,一切編程語(yǔ)言都是紙老虎,一層窗戶紙,只要開竅了,就容易了。

2)學(xué)編程難嗎?

編程是一門技術(shù),我也不知道它難不難,我只知道,只要你想學(xué),肯定能學(xué)會(huì)。技術(shù)就是一層窗戶紙,是有道理可以遵循的,在我看來(lái),比搞抽象的藝術(shù)要容易。

在技術(shù)領(lǐng)域,編程的入門門檻很低,互聯(lián)網(wǎng)的資料很多,只要你有一臺(tái)計(jì)算機(jī),一根網(wǎng)線,具備初中學(xué)歷,就可以學(xué)習(xí),投資在5K左右。

不管是技術(shù)還是非技術(shù),要想有所造詣,都必須潛心鉆研,沒有幾年功夫不會(huì)鶴立雞群。所以請(qǐng)先問(wèn)問(wèn)你自己,你想學(xué)編程嗎,你喜歡嗎,如果你覺得自己對(duì)編程很感興趣,想了解軟件或網(wǎng)站是怎么做的,那么就不要再問(wèn)這個(gè)問(wèn)題了,盡管去學(xué)就好了。

3)英語(yǔ)和數(shù)學(xué)基礎(chǔ)不行,可以學(xué)會(huì)嗎?初中畢業(yè)可以學(xué)會(huì)嗎?

首先說(shuō)英語(yǔ)。編程需要你有英語(yǔ)基礎(chǔ),初中水平完全可以勝任。編程起源于美國(guó),代碼中會(huì)出現(xiàn)很多單詞,有英語(yǔ)基礎(chǔ)記憶起來(lái)會(huì)非常容易,如果你不認(rèn)識(shí)也沒關(guān)系,我推薦你安裝有道詞典,它的劃詞功能非常棒,選中什么就及時(shí)翻譯什么,不管是句子還是單詞。這樣,相信你開發(fā)出常用的軟件不成問(wèn)題。

當(dāng)然,如果你希望達(dá)到很高的造詣,希望被人稱為大神,那么肯定要閱讀英文的技術(shù)資料(不是所有資料都被翻譯成了中文),初中水平就有點(diǎn)吃力了。不過(guò),長(zhǎng)期閱讀英文會(huì)提高你的英文水平,只要你堅(jiān)持一段時(shí)間,即使只有初中水平,我相信借助有道詞典也會(huì)提高很快。

如果你沒有學(xué)過(guò)英語(yǔ),不知道 am、is、are,那我該怎么說(shuō)呢,有志者事竟成,只要你想學(xué),相信英語(yǔ)的障礙你也能克服。

至于數(shù)學(xué),只要你不打算搞算法、機(jī)器學(xué)習(xí)/人工智能、大數(shù)據(jù)/數(shù)據(jù)分析,會(huì)加減乘除法,知道次方、開方、科學(xué)計(jì)數(shù)法等最基本的概念,就不要把數(shù)學(xué)當(dāng)做學(xué)習(xí)的障礙了。

4)需要什么配置的電腦

如果你囊中羞澀,3K以上的臺(tái)式機(jī),4K以上的筆記本也可以勝任,當(dāng)然有時(shí)候會(huì)卡頓。

經(jīng)濟(jì)條件允許的話,最好5K以上的臺(tái)式機(jī),6K以上的筆記本。

如果想從事編程行業(yè),你早晚要有一臺(tái)高配的機(jī)器。它不但會(huì)讓你工作更加流暢有效率,還會(huì)讓你覺得工作是一種享受,所以很多程序員配備了MacBook。

5)學(xué)習(xí)編程要用Linux嗎

很多大神都輕視地說(shuō),我不用Windows,一直在用Linux,只有Linux才能讓你看到C的本質(zhì),C就是為L(zhǎng)inux而生的。

話雖沒錯(cuò),但是你想想當(dāng)初你學(xué)習(xí)Windows花了多長(zhǎng)時(shí)間,是不是一開始連切換輸入法也不會(huì),編輯Word文檔也不會(huì);如果你切換到Linux,你也會(huì)遇到同樣的問(wèn)題,你需要一段時(shí)間來(lái)熟悉Linux,加大了你的學(xué)習(xí)成本,會(huì)慢慢消磨掉你對(duì)編程的興趣。

所以我建議,你可以在Windows下學(xué)習(xí)C語(yǔ)言,完全沒問(wèn)題,如果有一天Windows不能滿足你的學(xué)習(xí)需求了,那你再切換到Linux,這個(gè)時(shí)候你對(duì)編程已經(jīng)很了解了,切換的成本也低了。

初學(xué)者應(yīng)該怎么學(xué)習(xí)c語(yǔ)言相關(guān)文章

電腦編程怎么學(xué)習(xí)

C語(yǔ)言學(xué)習(xí)心得5篇集合

c語(yǔ)言學(xué)習(xí)需要的時(shí)長(zhǎng)以及方法

怎么樣才能學(xué)習(xí)好電腦知識(shí)

c語(yǔ)言心得體會(huì)范文3篇

c語(yǔ)言心得總結(jié)(五篇)

c語(yǔ)言程序設(shè)計(jì)怎么學(xué)習(xí)

c語(yǔ)言編程學(xué)習(xí)心得體會(huì)3篇

c語(yǔ)言學(xué)習(xí)心得6篇

2659274