C語(yǔ)言是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
這里介紹幾個(gè)學(xué)習(xí)C語(yǔ)言必備的東東:
1:工欲善其事,必先利其器
一個(gè)研發(fā)環(huán)境,例如turbo?C?2.0,這個(gè)曾占據(jù)了DOS時(shí)代研發(fā)程式的大半個(gè)江山。但是現(xiàn)在windows時(shí)代,用turbo?C有感覺(jué)不方面,編輯程式起來(lái)很吃力,并且拖放,更沒(méi)有函數(shù)變量自動(dòng)感應(yīng)功能,查詢參考資料也不方便。建議使用Visual?C?,這個(gè)東西雖然比較大塊頭,但是一旦安裝好了,用起來(lái)很方便。
一本學(xué)習(xí)教程,現(xiàn)在C語(yǔ)言教材多如牛毛,但推薦大家使用《C語(yǔ)言程式設(shè)計(jì)》譚浩強(qiáng)主編?第二版?清華大學(xué)出版社,此書編寫的很適合初學(xué)者,并且內(nèi)容也很精到。
除此以外,現(xiàn)在有很多輔助學(xué)習(xí)的軟件,畢竟現(xiàn)在是Window時(shí)代了,學(xué)習(xí)軟件多如牛毛,不象我們當(dāng)初學(xué)習(xí),只有讀書做題這么老套。我向大家推薦一個(gè)“集成學(xué)習(xí)環(huán)境(C語(yǔ)言)”,里邊的知識(shí)點(diǎn)總結(jié)和例程講解都很好,更有題庫(kù)測(cè)試環(huán)境,據(jù)說(shuō)有好幾千題,甚至更有一個(gè)windows下的trubo?C,初學(xué)者甚至不用裝其他的編譯器,就能夠練習(xí)編程了,很適合初學(xué)者。更有一個(gè)“C語(yǔ)言學(xué)習(xí)系統(tǒng)”軟件,但是感覺(jué)只是個(gè)題庫(kù)系統(tǒng),假如您覺(jué)得題做的不夠,不妨也能夠試試。
2:葵花寶典
學(xué)習(xí)電腦語(yǔ)言最好的方法是什么?答曰:讀程式。?對(duì)真正的成功者來(lái)說(shuō),不論他的生存條件如何,都不會(huì)自我磨滅。
沒(méi)錯(cuò),讀程式是學(xué)習(xí)C語(yǔ)言入門最快,也是最好的方法。如同我,現(xiàn)在學(xué)習(xí)新的J#,C#等其他語(yǔ)言,不再是抱著書本逐行啃,而是學(xué)習(xí)他們的例程。當(dāng)然,對(duì)于沒(méi)有學(xué)過(guò)任何電腦語(yǔ)言的初學(xué)者,最好還是先閱讀教程,學(xué)習(xí)完每一章,都要認(rèn)真體會(huì)這一章的任何概念,然后不放過(guò)這一章中提到的任何例程,然后仔細(xì)研讀程式,直到每一行都理解了,然后找?guī)讉€(gè)編程題目,最好是和例程類似的或相同的,自己試圖寫出這段已讀懂的程式,不要以為例程您已讀懂了,您就能夠?qū)懗龊退嗤某淌?,絕對(duì)不一定,不相信您就試一試吧,假如寫不出來(lái),也不要著急,回過(guò)頭來(lái)再繼續(xù)研究例程,想想自己為什么寫不出來(lái),然后再去寫這段程式,反反復(fù)復(fù),直到您手到擒來(lái)為止,祝賀您,您快入門了。?3:登峰造極?寫程式的最高境界其實(shí)就是掌控各種解決問(wèn)題的手段(數(shù)據(jù)結(jié)構(gòu))和解決問(wèn)題的方法(算法)。
是不是寫出底層程式就是程式設(shè)計(jì)高手呢?非也,寫底層程式,無(wú)非是掌控了硬件的結(jié)構(gòu),況且硬件和硬件還不相同,要給一個(gè)芯片寫驅(qū)動(dòng)程式,無(wú)非就是掌控這塊芯片的各種寄存器及其組合,然后寫值讀值,僅此而已。這但是是熟悉一些io函數(shù)罷了。?那么怎樣才算精通程式設(shè)計(jì)呢?怎樣才能精通程式設(shè)計(jì)呢?舉個(gè)例子:您面前有10個(gè)人,找出一個(gè)叫“張三”的人,您該怎么辦?第一種方法:直接對(duì)這10個(gè)人問(wèn):“誰(shuí)叫張三”。第2種方法:您挨個(gè)去問(wèn)“您是不是張三?”,直到問(wèn)到的這個(gè)人就是張三。第三種方法:您去挨個(gè)問(wèn)一個(gè)人“您認(rèn)不認(rèn)識(shí)張三,指給我看”。不要小看這個(gè)問(wèn)題,您說(shuō)當(dāng)然會(huì)選第一種方法,沒(méi)錯(cuò)恭喜您答對(duì)了,因?yàn)檫@個(gè)方法最快,效率最高,但是在程式設(shè)計(jì)中找到解決問(wèn)題的最優(yōu)方法和您用的手段卻是考驗(yàn)一個(gè)程式員程式設(shè)計(jì)水平的重要標(biāo)志,而且是不容易達(dá)到的。剛才這個(gè)問(wèn)題類似于數(shù)據(jù)結(jié)構(gòu)和算法中的:Map數(shù)據(jù)結(jié)構(gòu),窮舉查找和折半查找。所以掌控好數(shù)據(jù)結(jié)構(gòu)和一些常用算法,是登峰造極的必然之路。最后給大家推薦嚴(yán)尉敏的《數(shù)據(jù)結(jié)構(gòu)》清華大學(xué)出版社,希望每一個(gè)想成為程式設(shè)計(jì)高手的人研讀此書。
總結(jié)
1、先照書上的題目寫,題目的設(shè)計(jì)是有道理的鞏固基礎(chǔ)知識(shí)。
2、找數(shù)學(xué)題,寫個(gè)小程序解決,熟悉算法和基礎(chǔ)函數(shù)。
3、自己出題目,小一點(diǎn)的,如自編資源管理器、自編寫字板之類,練習(xí)WINDOWS下的編程。
4、結(jié)合身邊的事,找個(gè)中等課題,或看別人的程序,自已想辦法實(shí)現(xiàn)。
5.把教材中的例子,自己仿照著寫一遍,上機(jī)運(yùn)行,看結(jié)果.要知道,任何產(chǎn)品都是有例子的,有機(jī)結(jié)合或仿照。
6.從自己熟悉的事情入手,如成績(jī)統(tǒng)計(jì),編制一段程序,完成一個(gè)功能.然后再完善。
7.要反復(fù)破壞代碼,從破壞中尋找代碼的規(guī)律。
8.必須經(jīng)常反復(fù)上機(jī)練習(xí)。