C語言初識(shí)與應(yīng)用
C語言的起源
C語言是20世紀(jì)70年代由貝爾實(shí)驗(yàn)室開發(fā)并廣為流傳使用的編程語言。起初由于匯編語言難于調(diào)試和修改,所以大神們開始設(shè)計(jì)更加方便的語言來實(shí)現(xiàn)代碼與機(jī)器的直接交流。Thompson編寫了一個(gè)B語言倾贰;隨后,由于時(shí)代發(fā)展,B語言不適應(yīng)當(dāng)時(shí)的計(jì)算機(jī)趾断,Ritchie編寫了B語言的升級(jí)版,并命名為NB(New B)吩愧,慢慢的芋酌,他發(fā)現(xiàn)這個(gè)修改的版本已經(jīng)逐漸偏離B語言。因此雁佳,命名為C語言脐帝,不斷發(fā)展至今。
C語言的應(yīng)用
C語言是面向過程的程序設(shè)計(jì)語言糖权,其應(yīng)用十分廣泛堵腹,主要分為以下幾個(gè)方面:
- 編寫CGI(common gateway interface)程序
- 編寫GUI(graghical user interface),如QQ星澳,MSN等
- 編寫強(qiáng)大的工具庫疚顷,mp3播放器等
- 編寫大型游戲的搜索引擎
- 編寫另一種語言,PHP,Ruby等
- 編寫驅(qū)動(dòng)程序和操作系統(tǒng)等
綜上所述腿堤,足以見得C語言的強(qiáng)大之處阀坏,當(dāng)然,C語言也是有短板的释液,它不擅長字符串的處理全释,這方面Python和Perl可能會(huì)有更好的效果。
C語言的使用過程
C語言的使用過程主要分為以下三個(gè)方面:
- 源碼編寫(以filename.c命名)
- 源碼編譯 (以filename.obj命名)
- 鏈接目標(biāo)文件误债,生成filename.exe浸船。特殊的,Unix系統(tǒng)中寝蹈,若未給輸出的文件命名李命,那么就會(huì)輸出filename.out文件。
- Debug箫老,修復(fù)代碼漏洞
其中比較繁瑣的編寫源代碼階段封字,需要花費(fèi)大量的時(shí)間和經(jīng)歷去鉆研學(xué)習(xí),有時(shí)候C語言中存在錯(cuò)誤未被發(fā)現(xiàn)的狀態(tài)耍鬓,也可以通過編譯阔籽,這可能在將來的使用中產(chǎn)生較大影響。
對(duì)于源碼編譯階段牲蜀,不同的平臺(tái)笆制,有諸多可以使用的軟件。Windows系統(tǒng)中涣达,推薦使用的是:
Dev-C++
Visual C++
LCC-Win32
等等在辆。
Unix系統(tǒng)中,可以使用GCC(GNU complier collection度苔,GNU編譯器集合)匆篓,在系統(tǒng)中,通常它是自帶安裝的寇窑,而且這個(gè)軟件是免費(fèi)的鸦概,非常符合一直以來大神們追求的開源理念。
Debuging過程比較繁瑣甩骏,需要仔細(xì)窗市、耐心的閱讀報(bào)錯(cuò)報(bào)告,因?yàn)槌鲥e(cuò)的原因可能就是蘊(yùn)含其中横漏。
如何學(xué)好C語言
關(guān)于這個(gè)話題谨设,當(dāng)然是仁者見仁,智者見智的事情缎浇。那么扎拣,《零基礎(chǔ)學(xué)C語言中》書中給出的幾點(diǎn)建議如下:
- 多動(dòng)手多求人
關(guān)于多動(dòng)手我是十分贊成的,熟能生巧這是大家熟知的道理,不用細(xì)說二蓝;作者提出多求人的方法誉券,讓我有點(diǎn)懷疑,但其中的解釋是我們應(yīng)當(dāng)多請(qǐng)教有經(jīng)驗(yàn)的人刊愚,不要太固執(zhí)踊跟,這也有一定的道理。我個(gè)人而言鸥诽,可能缺少這方面比較多商玫,現(xiàn)在的時(shí)代,閉門造成牡借,已經(jīng)不再是一個(gè)好方法拳昌,合作學(xué)習(xí)才是我們應(yīng)該做的,當(dāng)和別人交換思路的時(shí)候钠龙,我們也會(huì)得到提升炬藤,同時(shí)收獲幾個(gè)思路,這個(gè)一個(gè)人無法達(dá)到的境界碴里!共勉沈矿! - 多學(xué)多看優(yōu)秀的代碼
之前我一直不理解這個(gè)方面,但是在看了幾個(gè)其他程序的代碼后咬腋,對(duì)于自己寫代碼真的很有幫助羹膳,就像在打桌球的時(shí)候你終于知道怎么發(fā)力那樣。前輩們的代碼需要批判性的看帝火,可以多多學(xué)習(xí)溜徙。 - 多思考計(jì)算機(jī)處理過程
這樣有利于將一個(gè)大型的任務(wù)分片話湃缎,分成簡單的小步驟犀填,這樣問題就會(huì)逐漸解決。 - C語言之外的學(xué)習(xí)
C語言只是一門程序嗓违,需要具有廣泛的可移植性九巡,還需要學(xué)習(xí)一些API (Application Program Interface),熟悉其他庫的使用方法蹂季。
以上冕广,僅以我初始碼字的簡單記錄,非常慶幸能夠有良好的學(xué)習(xí)環(huán)境偿洁,相信自己撒汉!
學(xué)習(xí)燥起來!