學(xué)習(xí)任何知識(shí),循序漸進(jìn)總是最好的方式。不幸的是,很多人明知這個(gè)道理,卻總是想走所謂的捷徑。如果你是一個(gè)剛剛開始學(xué)習(xí)編程的中學(xué)生,或者你是一個(gè)剛剛進(jìn)入計(jì)算機(jī)學(xué)院的本科生,又或者你是一個(gè)決心在計(jì)算機(jī)領(lǐng)域有所建樹的初學(xué)者,你一定迫切地想知道,學(xué)習(xí)計(jì)算機(jī)技術(shù),究竟應(yīng)該從哪里下手。

創(chuàng)新互聯(lián)公司長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為淮陽企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,淮陽網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
我的建議是:數(shù)學(xué)、英語、C語言。
數(shù)學(xué)和英語的重要性已經(jīng)不需要我來強(qiáng)調(diào),大家也許從幼兒園就開始學(xué)習(xí)它們了,請時(shí)刻把它們放在最重要的位置,無論你是否學(xué)習(xí)計(jì)算機(jī)。
為什么C語言如此重要?我們從學(xué)習(xí)方法開始說起。書本上描述的東西,倘若不經(jīng)過我們的親自實(shí)踐,是難以被徹底消化吸收的。計(jì)算機(jī)組成原理講解了浮點(diǎn)數(shù)的格式,如果我們能看到并分析內(nèi)存或寄存器中某個(gè)浮點(diǎn)數(shù)的表示,那比單純的紙上談兵要強(qiáng)一千倍;數(shù)據(jù)結(jié)構(gòu)與算法似乎很難,如果你能把書上的例子實(shí)現(xiàn)出來,然后把習(xí)題做完,只需啃完一本好書,你也可以是算法高手;操作系統(tǒng)原理其實(shí)不僅僅是原理,只有做一些內(nèi)核方面的實(shí)驗(yàn)才能真正有深刻理解;還有許多新潮的技術(shù),比如JavaEE、PHP、Ajax、.NET等等等等,很多高手學(xué)習(xí)這些技術(shù)只需要很短的時(shí)間,不必說,他們肯定是C語言的高手。C語言幾乎是一切計(jì)算機(jī)技術(shù)的通用工具,包括計(jì)算機(jī)的各種基本理論。沒有精通C語言的決心,就不要涉足計(jì)算機(jī)領(lǐng)域。
為什么是C語言而不是C++不是Java不是其它?因?yàn)镃語言最簡單。你需要掌握一個(gè)語言工具,但也許并不需要“面向?qū)ο蟆?、“模板”、“函?shù)重載”等等一大堆概念。C語言足夠低級,非常非常地貼近計(jì)算機(jī)的底層結(jié)構(gòu),不會(huì)讓你迷失在概念的汪洋大海。除了“指針”,C語言沒有真正意義上的難點(diǎn),而“指針”,恰恰是理解計(jì)算機(jī)底層結(jié)構(gòu)精髓的關(guān)鍵所在。
不必思考應(yīng)該學(xué)什么,等把C語言精通了,你自己便會(huì)知道下一步如何去走。如果你對操作系統(tǒng)內(nèi)部感興趣,你便可以試著研究一下Unix的內(nèi)核,除了C語言,你還需要一些匯編語言和保護(hù)模式的知識(shí);如果你對算法感興趣,那么恭喜你,C語言足夠使用了;如果你對Windows編程感興趣,去看看《Windows程序設(shè)計(jì)》吧,作者清楚的告訴你“只需要C語言的基礎(chǔ)”;如果你對任何其它語言感興趣,盡管去學(xué)吧,不過還是建議先學(xué)C++,因?yàn)槟阈枰恍懊嫦驅(qū)ο蟆钡闹R(shí)。
學(xué)習(xí)C語言不是一朝一夕的事情,但也不需要花費(fèi)十年時(shí)間才能精通。如何以最小的代價(jià)學(xué)習(xí)并精通C語言是本文的主題。請注意,即使是“最小的代價(jià)”,也絕不是什么捷徑,而是以最短的時(shí)間取得最多的收獲,同時(shí)也意味著你需要經(jīng)歷艱苦的過程。
一、要讀就讀好書,否則不如不讀
所有初學(xué)者面臨的第一個(gè)問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素。不幸的是,學(xué)校通常會(huì)幫你指定一本很差勁的C語言課本;而幸運(yùn)的是,你還可以再次選擇。
大名鼎鼎的譚浩強(qiáng)教授出了一本《C語言程序設(shè)計(jì)》,據(jù)說發(fā)行量有超過400萬,據(jù)我所知,很多學(xué)校都會(huì)推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅(jiān)定地黑他這本書的。這本書不是寫給計(jì)算機(jī)專業(yè)的學(xué)生的,而是給那些需要考計(jì)算機(jī)等級考試的其它專業(yè)學(xué)生看的。這本書的主要缺點(diǎn)是:例子程序非常不專業(yè),不能教給你程序設(shè)計(jì)應(yīng)該掌握的思考方式;程序風(fēng)格相當(dāng)?shù)夭缓?,?huì)讓你養(yǎng)成亂寫代碼的惡習(xí);錯(cuò)誤太多,曾經(jīng)有人指出過這本書的上百個(gè)錯(cuò)誤,其中不乏關(guān)鍵的概念性錯(cuò)誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下:)
Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設(shè)計(jì)語言》)堪稱經(jīng)典中的經(jīng)典,不過舊版的很多內(nèi)容都已過時(shí),和現(xiàn)在的標(biāo)準(zhǔn)C語言相去甚遠(yuǎn),大家一定要看最新的版本,否則不如不看。另外,即使是最經(jīng)典最權(quán)威的書,也沒有辦法面面俱到,所以手邊常備一本《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ì)語言》是根據(jù)C89標(biāo)準(zhǔn)修訂的,而《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)吧。不過這本書并不十分適合初學(xué)者,如果你曾經(jīng)學(xué)過C語言,有那么一些C語言的基礎(chǔ)但又不是很扎實(shí),那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。
如果你已經(jīng)啃完了一本C語言教材,想要更進(jìn)一步,那么有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內(nèi)容非常非常地有趣。要注意一點(diǎn),這本書是二十多年前寫成的,里面提到的很多C語言的缺陷都已被改進(jìn),不過能夠了解一些歷史也不是什么壞事。然后你可以挑戰(zhàn)一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細(xì)讀完并能透徹理解,你便可以放心大膽地在簡歷上寫“精通C語言”了。
切記一個(gè)原則,不要讀自己目前還看不懂的書,那是浪費(fèi)生命。如果你看不懂,那你一定是缺失了某些必需基礎(chǔ)知識(shí)。此時(shí),你要仔細(xì)分析自己需要補(bǔ)充哪些內(nèi)容,然后再去書店尋找講述的這些內(nèi)容的書籍。把基礎(chǔ)知識(shí)補(bǔ)充完畢再回頭來學(xué)習(xí),才會(huì)真正的事半功倍。
1、首先需要一本講解c語言基礎(chǔ)知識(shí)的書本,按照上面的知識(shí)講解一點(diǎn)點(diǎn)的學(xué)習(xí)c語言。
2、需要在電腦上面安裝c語言編譯軟件,可以選擇vc6.0++或者M(jìn)icrosoftVisualStudio等軟件。
3、自己編寫一些小程序,熟悉編譯c語言程序的過程,并且檢驗(yàn)自己學(xué)習(xí)的成果。
4、試著寫一些稍大型的c語言程序,達(dá)到進(jìn)階目的,比如俄羅斯方塊,貪吃蛇等。
所以我給你的忠告是:
1.學(xué)點(diǎn)簡單的布爾代數(shù),掌握數(shù)據(jù)存儲(chǔ)的原則,注意C語言的指針。
2.給你個(gè)邏輯題練練腦“有12個(gè)壞球(不知道是輕還是重),用無砝碼天平稱量3次后把壞球找出來”。盡可能的自己做別上網(wǎng)找答案。
3.多上機(jī)練習(xí)(推薦用win-tc這個(gè)軟件來編譯,比較簡單支持復(fù)制粘貼,看到網(wǎng)上的例子馬上就可以復(fù)制來自己編譯一下,中文界面方面使用,還帶有簡單的C教程,安裝時(shí)不能有中文路徑名)
4.入門以后要學(xué)會(huì)在網(wǎng)上找一些庫函數(shù)的使用方法。
用以上方法本人學(xué)C語言用了2個(gè)星期,熟悉C語言也就是2個(gè)星期。
基本控制結(jié)構(gòu),if、while、switch、for,要學(xué)會(huì)熟練使用
要學(xué)會(huì)指針,數(shù)組,需要了解數(shù)組與指針的關(guān)系
還有C語言中字符串的特殊處理
C語言如何讀寫文件
再往后,就需要了解數(shù)據(jù)結(jié)構(gòu),學(xué)會(huì)用C語言寫鏈表,二叉樹。。。。。。
標(biāo)題名稱:c語言函數(shù)以后怎么學(xué) c語言能學(xué)到什么
本文URL:http://www.yijiale78.com/article22/dooecjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、用戶體驗(yàn)、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)、微信小程序、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)