C語(yǔ)言基礎(chǔ)

C語(yǔ)言初識(shí)與應(yīng)用

C語(yǔ)言的起源

C語(yǔ)言是20世紀(jì)70年代由貝爾實(shí)驗(yàn)室開(kāi)發(fā)并廣為流傳使用的編程語(yǔ)言。起初由于匯編語(yǔ)言難于調(diào)試和修改,所以大神們開(kāi)始設(shè)計(jì)更加方便的語(yǔ)言來(lái)實(shí)現(xiàn)代碼與機(jī)器的直接交流。Thompson編寫(xiě)了一個(gè)B語(yǔ)言;隨后,由于時(shí)代發(fā)展,B語(yǔ)言不適應(yīng)當(dāng)時(shí)的計(jì)算機(jī),Ritchie編寫(xiě)了B語(yǔ)言的升級(jí)版,并命名為NB(New B),慢慢的,他發(fā)現(xiàn)這個(gè)修改的版本已經(jīng)逐漸偏離B語(yǔ)言。因此,命名為C語(yǔ)言,不斷發(fā)展至今。

C語(yǔ)言的應(yīng)用

C語(yǔ)言是面向過(guò)程的程序設(shè)計(jì)語(yǔ)言,其應(yīng)用十分廣泛,主要分為以下幾個(gè)方面:

  • 編寫(xiě)CGI(common gateway interface)程序
  • 編寫(xiě)GUI(graghical user interface),如QQ,MSN等
  • 編寫(xiě)強(qiáng)大的工具庫(kù),mp3播放器等
  • 編寫(xiě)大型游戲的搜索引擎
  • 編寫(xiě)另一種語(yǔ)言,PHP,Ruby等
  • 編寫(xiě)驅(qū)動(dòng)程序和操作系統(tǒng)等
    綜上所述,足以見(jiàn)得C語(yǔ)言的強(qiáng)大之處,當(dāng)然,C語(yǔ)言也是有短板的,它不擅長(zhǎng)字符串的處理,這方面Python和Perl可能會(huì)有更好的效果。

C語(yǔ)言的使用過(guò)程

C語(yǔ)言的使用過(guò)程主要分為以下三個(gè)方面:

  • 源碼編寫(xiě)(以filename.c命名)
  • 源碼編譯 (以filename.obj命名)
  • 鏈接目標(biāo)文件,生成filename.exe。特殊的,Unix系統(tǒng)中,若未給輸出的文件命名,那么就會(huì)輸出filename.out文件。
  • Debug,修復(fù)代碼漏洞
    其中比較繁瑣的編寫(xiě)源代碼階段,需要花費(fèi)大量的時(shí)間和經(jīng)歷去鉆研學(xué)習(xí),有時(shí)候C語(yǔ)言中存在錯(cuò)誤未被發(fā)現(xiàn)的狀態(tài),也可以通過(guò)編譯,這可能在將來(lá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)的,非常符合一直以來(lái)大神們追求的開(kāi)源理念。
    Debuging過(guò)程比較繁瑣,需要仔細(xì)、耐心的閱讀報(bào)錯(cuò)報(bào)告,因?yàn)槌鲥e(cuò)的原因可能就是蘊(yùn)含其中。

如何學(xué)好C語(yǔ)言

關(guān)于這個(gè)話題,當(dāng)然是仁者見(jiàn)仁,智者見(jiàn)智的事情。那么,《零基礎(chǔ)學(xué)C語(yǔ)言中》書(shū)中給出的幾點(diǎn)建議如下:

  • 多動(dòng)手多求人
    關(guān)于多動(dòng)手我是十分贊成的,熟能生巧這是大家熟知的道理,不用細(xì)說(shuō);作者提出多求人的方法,讓我有點(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è)人無(wú)法達(dá)到的境界!共勉!
  • 多學(xué)多看優(yōu)秀的代碼
    之前我一直不理解這個(gè)方面,但是在看了幾個(gè)其他程序的代碼后,對(duì)于自己寫(xiě)代碼真的很有幫助,就像在打桌球的時(shí)候你終于知道怎么發(fā)力那樣。前輩們的代碼需要批判性的看,可以多多學(xué)習(xí)。
  • 多思考計(jì)算機(jī)處理過(guò)程
    這樣有利于將一個(gè)大型的任務(wù)分片話,分成簡(jiǎn)單的小步驟,這樣問(wèn)題就會(huì)逐漸解決。
  • C語(yǔ)言之外的學(xué)習(xí)
    C語(yǔ)言只是一門程序,需要具有廣泛的可移植性,還需要學(xué)習(xí)一些API (Application Program Interface),熟悉其他庫(kù)的使用方法。

以上,僅以我初始碼字的簡(jiǎn)單記錄,非常慶幸能夠有良好的學(xué)習(xí)環(huán)境,相信自己!


學(xué)習(xí)燥起來(lái)!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容