C語(yǔ)言簡(jiǎn)介
C語(yǔ)言是一門(mén)通用計(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ī)格寫(xiě)出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
C語(yǔ)言是一門(mén)面向過(guò)程的計(jì)算機(jī)編程語(yǔ)言,與C++,Java等面向?qū)ο蟮木幊陶Z(yǔ)言有所不同。
C語(yǔ)言的優(yōu)點(diǎn)
1、程序結(jié)構(gòu)簡(jiǎn)潔、緊湊、規(guī)整,表達(dá)式簡(jiǎn)練、使用靈活。
2、編寫(xiě)的程序可讀性強(qiáng),編譯效率高。
3、具有豐富的運(yùn)算符,多達(dá)34種。豐富的數(shù)據(jù)類型與豐富的運(yùn)算符相結(jié)合,使C語(yǔ)言具有表達(dá)靈活和效率高等特點(diǎn)。
4、數(shù)據(jù)類型種類繁多。C語(yǔ)言具有5種基本的數(shù)據(jù)類型和多種構(gòu)造數(shù)據(jù)類型以及復(fù)合的導(dǎo)出類型,同時(shí)還提供了與地址密切相關(guān)的指針機(jī)器運(yùn)算符。指針可以指向各種類型的簡(jiǎn)單變量、數(shù)組、結(jié)構(gòu)和聯(lián)合,乃至函數(shù)等。此外,C語(yǔ)言還允許用戶自己定義數(shù)據(jù)類型。
5、是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,特別適合大型程序的模塊化設(shè)計(jì)。C語(yǔ)言具有編寫(xiě)結(jié)構(gòu)化程序所必需的基本流程控制語(yǔ)句,C語(yǔ)言程序是由函數(shù)集合構(gòu)成的,函數(shù)各自獨(dú)立,并且作為模塊化設(shè)計(jì)的基本單位。
C語(yǔ)言的源文件,可以分割成多個(gè)源程序,分別進(jìn)行編譯,然后連接起來(lái)構(gòu)成可知性的目標(biāo)文件,為開(kāi)發(fā)大型軟件提供了極大的方便。C語(yǔ)言還提供了多種存儲(chǔ)屬性,使數(shù)據(jù)可以按其需要在相應(yīng)的作用域起作用,從而提高了程序的可靠性。
6、語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。例如,對(duì)數(shù)組下標(biāo)越界不作檢查,由程序編寫(xiě)者自己保證程序的正確。一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能檢測(cè)出幾乎所有的語(yǔ)法錯(cuò)誤,而C語(yǔ)言允許程序編寫(xiě)者有較大的自由度,因此放寬了語(yǔ)法的檢查。程序員應(yīng)當(dāng)仔細(xì)檢查程序,保證其正確,而不要過(guò)分依賴C語(yǔ)言編譯程序去查錯(cuò)。
7、允許直接訪問(wèn)物理地址,能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。因此,C語(yǔ)言既具有高級(jí)語(yǔ)言的功能,又兼容低級(jí)語(yǔ)言的許多功能,可用來(lái)編寫(xiě)系統(tǒng)軟件。
8、生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。它一般只比匯編程序生成的目標(biāo)代碼率低10%~20%。
9、具有較高的可移植性。它的語(yǔ)句基本上無(wú)須修改就能用于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。
10、任何里面有微處理器的設(shè)備都支持C語(yǔ)言。從微波爐到手機(jī),都是由C語(yǔ)言技術(shù)來(lái)推動(dòng)的。
C語(yǔ)言入門(mén)書(shū)籍推薦
一、入門(mén)書(shū)籍推薦
1、CProgramming:AModernApproach(C語(yǔ)言程序設(shè)計(jì):現(xiàn)代方法)
簡(jiǎn)介:《C語(yǔ)言程序設(shè)計(jì):現(xiàn)代方法》是C語(yǔ)言的經(jīng)典之作,被譽(yù)為“近10年來(lái)
最好的一部C語(yǔ)言著作”。書(shū)中討論了標(biāo)準(zhǔn)C和C標(biāo)準(zhǔn)庫(kù)的全部特性,包括信號(hào)、setjmp/longjmp和可變參數(shù)列表等其他書(shū)中很少涉及的內(nèi)容。全書(shū)由易而難、循序漸進(jìn)、螺旋式地講述C語(yǔ)言,很好地處理了指針和位運(yùn)算等難點(diǎn)。第2版覆蓋了C99標(biāo)準(zhǔn),并提供了對(duì)所有C99庫(kù)函數(shù)的參考,還擴(kuò)展了GCC的內(nèi)容,增加了對(duì)抽象數(shù)據(jù)類型的討論,并針對(duì)新CPU和操作系統(tǒng)做了更新。《C語(yǔ)言程序設(shè)計(jì):現(xiàn)代方法》尤為強(qiáng)調(diào)軟件工程和現(xiàn)代編程理念,在知識(shí)的闡述中突出工業(yè)界的最佳實(shí)踐、實(shí)際經(jīng)驗(yàn)和編程風(fēng)格,使讀者能夠合理運(yùn)用所學(xué),編寫(xiě)出可讀性好、可靠性高和容易維護(hù)的代碼。書(shū)中精心選擇了近500道習(xí)題,貼近實(shí)戰(zhàn),與敘述文字相得益彰。
目前《C語(yǔ)言程序設(shè)計(jì):現(xiàn)代方法》已被全球200多所學(xué)校采用為教材,包括哈佛大學(xué)、麻省理工學(xué)院、斯坦福大學(xué)、加州大學(xué)伯克利分校、耶魯大學(xué)、加州理工學(xué)院等諸多名校。
C語(yǔ)言程序設(shè)計(jì)
2、CPrimerplus5th內(nèi)容提要:
本書(shū)全面講述了C語(yǔ)言編程的相關(guān)概念和知識(shí)。
全書(shū)共17章。第1、2章學(xué)習(xí)C語(yǔ)言編程所需的預(yù)備知識(shí)。第3到15章介紹了C語(yǔ)言的相關(guān)知識(shí),包括數(shù)據(jù)類型、格式化輸入輸出、運(yùn)算符、表達(dá)式、流程控制語(yǔ)句、函數(shù)、數(shù)組和指針、字符串操作、內(nèi)存管理、位操作等等,知識(shí)內(nèi)容都針對(duì)C99標(biāo)準(zhǔn);另外,第10章強(qiáng)化了對(duì)指針的討論,第12章引入了動(dòng)態(tài)內(nèi)存分配的概念,這些內(nèi)容更加適合讀者的需求。第16章和第17章討論了C預(yù)處理器和C庫(kù)函數(shù)、高級(jí)數(shù)據(jù)表示(數(shù)據(jù)結(jié)構(gòu))方面的內(nèi)容。附錄給出了各章后面復(fù)習(xí)題、編程練習(xí)的答案和豐富的C編程參考資料。
本書(shū)適合希望系統(tǒng)學(xué)習(xí)C語(yǔ)言的讀者,也適用于精通其他編程語(yǔ)言并希望進(jìn)一步掌握和鞏固C編程技術(shù)的程序員。
作者簡(jiǎn)介:
StephenPrata在加利福尼亞州的Kentfield的Marin學(xué)院教授天文學(xué)、物理學(xué)和程序設(shè)計(jì)課程。他在加州工業(yè)學(xué)院獲得學(xué)士學(xué)位,從加州大學(xué)伯克利分校獲得博士學(xué)位。他最早接觸計(jì)算機(jī),始于對(duì)星河的計(jì)算機(jī)建模。Stephen已經(jīng)編寫(xiě)或與他人合作編寫(xiě)了十多本書(shū)。其中包括C++PrimerPlus和UnixPrinmerPlus。
3、譚浩強(qiáng)第三版
國(guó)內(nèi)非常普及的學(xué)語(yǔ)言入門(mén)書(shū)籍,很多學(xué)校都是用它作為教材,對(duì)于C語(yǔ)言入門(mén)來(lái)說(shuō)比較通俗易懂。不過(guò)書(shū)中有些地方不夠嚴(yán)謹(jǐn),需要注意一些問(wèn)題。
二、進(jìn)階書(shū)籍推薦
1、TheCProgrammingLanguageSecondEdition
byBrianW.Kernighan,DennisM.Ritchie.PrenticeHallPTRC程序設(shè)計(jì)語(yǔ)言第2版·新版。
本書(shū)是由C語(yǔ)言的設(shè)計(jì)者BrianW.Kernighan和DennisM.Ritchie編寫(xiě)的一部介紹標(biāo)準(zhǔn)C語(yǔ)言及其程序設(shè)計(jì)方法的權(quán)威性經(jīng)典著作。全面、系統(tǒng)地講述了C語(yǔ)言的各個(gè)特性及程序設(shè)計(jì)的基本方法,包括基本概念、類型和表達(dá)式、控制流、函數(shù)與程序結(jié)構(gòu)、指針與數(shù)組、結(jié)構(gòu)、輸入與輸出、UNIX系統(tǒng)接口、標(biāo)準(zhǔn)庫(kù)等內(nèi)容。
本書(shū)的講述深入淺出,配合典型例證,通俗易懂,實(shí)用性強(qiáng),適合作為大專院校計(jì)算機(jī)專業(yè)或非計(jì)算機(jī)專業(yè)的C語(yǔ)言教材,也可以作為從事計(jì)算機(jī)相關(guān)軟硬件開(kāi)發(fā)的技術(shù)人員的參考書(shū)。
在計(jì)算機(jī)發(fā)展的歷史上,沒(méi)有哪一種程序設(shè)計(jì)語(yǔ)言像C語(yǔ)言這樣應(yīng)用如此廣泛。本書(shū)原著即為C語(yǔ)言的設(shè)計(jì)者之一DennisM.Ritchie和著名的計(jì)算機(jī)科學(xué)家BrianW.Kernighan合著的一本介紹C語(yǔ)言的權(quán)威經(jīng)典著作。我們現(xiàn)在見(jiàn)到的大量論述C語(yǔ)言程序設(shè)計(jì)的教材和專著均以此書(shū)為藍(lán)本。原著第1版中介紹的C語(yǔ)言成為后來(lái)廣泛使用的C語(yǔ)言版本——標(biāo)準(zhǔn)C的基礎(chǔ)。人們熟知的“hell,World”程序就是由本書(shū)首次引入的,現(xiàn)在,這一程序已經(jīng)成為所有程序設(shè)計(jì)語(yǔ)言入門(mén)的第一課。原著第2版根據(jù)1987年制定的ANSIC標(biāo)準(zhǔn)做了適當(dāng)?shù)男抻啠肓俗钚碌恼Z(yǔ)言形式,并增加了新的示例,通過(guò)簡(jiǎn)潔的描述、典型的示例,作者全面、系統(tǒng)、準(zhǔn)確地講述了C語(yǔ)言的各個(gè)特性以及程序設(shè)計(jì)的基本方法。對(duì)于計(jì)算機(jī)從業(yè)人員來(lái)說(shuō),本書(shū)是一本必讀的程序設(shè)計(jì)語(yǔ)言方面的參考書(shū)。
2、PointersonC(C和指針)
凸現(xiàn)指針對(duì)C的重要性。提供寶貴的提示和智慧的警告。
本書(shū)提供與C語(yǔ)言編程相關(guān)的全面資源和深入討論。本書(shū)通過(guò)對(duì)指針的基礎(chǔ)知識(shí)和高級(jí)特性的探討,幫助程序員把指針的強(qiáng)大功能融入到自己的程序中去。
全書(shū)共18章,覆蓋了數(shù)據(jù)、語(yǔ)句、操作符和表達(dá)式、指針、函數(shù)、數(shù)組、字符串、結(jié)構(gòu)和聯(lián)合等幾乎所有重要的C編程話題。書(shū)中給出了很多編程技巧和提示,每章后面有針對(duì)性很強(qiáng)的練習(xí),附錄部分則給出了部分練習(xí)的解答。
本書(shū)適合C語(yǔ)言初學(xué)者和初級(jí)c程序員閱讀,也可作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)c語(yǔ)言的參考。
3、CTrapsandPitfalls(C陷阱與缺陷)
作者以自己1985年在Bell實(shí)驗(yàn)室時(shí)發(fā)表的一篇論文為基礎(chǔ),結(jié)合自己的工作經(jīng)驗(yàn)擴(kuò)展成為這本對(duì)C程序員具有珍貴價(jià)值的經(jīng)典著作。寫(xiě)作本書(shū)的出發(fā)點(diǎn)不是要批判C語(yǔ)言,而是要幫助C程序員繞過(guò)編程過(guò)程中的陷阱和障礙。
全書(shū)分為8章,分別從詞法分析、語(yǔ)法語(yǔ)義、連接、庫(kù)函數(shù)、預(yù)處理器、可移植性缺陷等幾個(gè)方面分析了C編程中可能遇到的問(wèn)題。最后,作者用一章的篇幅給出了若干具有實(shí)用價(jià)值的建議。
本書(shū)適合有一定經(jīng)驗(yàn)的C程序員閱讀學(xué)習(xí),即便你是C編程高手,本書(shū)也應(yīng)該成為你的案頭必備書(shū)籍。
《C陷阱與缺陷》AndrewKoenigAndrewKoenig的成名作,能幫助初學(xué)者減少90%的錯(cuò)誤。一些錯(cuò)誤(比如賦值符、運(yùn)算符優(yōu)先級(jí)等)還是不時(shí)的會(huì)在自己的程序里出現(xiàn),只是已經(jīng)打過(guò)預(yù)防針了,很容易發(fā)現(xiàn)。
4、ExpertCProgramming(C專家編程)
《C專家編程》展示了最優(yōu)秀的C程序員所使用的編碼技巧,并專門(mén)開(kāi)辟了一章對(duì)C++的基礎(chǔ)知識(shí)進(jìn)行了介紹。
書(shū)中C的歷史、語(yǔ)言特性、聲明、數(shù)組、指針、鏈接、運(yùn)行時(shí)、內(nèi)存以及如何進(jìn)一步學(xué)習(xí)C++等問(wèn)題進(jìn)行了細(xì)致的講解和深入的分析。全書(shū)擷取幾十個(gè)實(shí)例進(jìn)行講解,對(duì)C程序員具有非常高的實(shí)用價(jià)值。
本書(shū)可以幫助有一定經(jīng)驗(yàn)的C程序員成為C編程方面的專家,對(duì)于具備相當(dāng)?shù)腃語(yǔ)言基礎(chǔ)的程序員,本書(shū)可以幫助他們站在C的高度了解和學(xué)習(xí)C++即使你讀過(guò)AndyKoneig的《C陷阱與缺陷》,你還是應(yīng)該看看PeterVanDerLinden的書(shū)。我想,他們兩人的書(shū)稱都應(yīng)該千方百計(jì)的搞到,如獲至寶地捧讀。如果我是你的上司,這是必須的要求。
5、CInterfacesandImplementations(C語(yǔ)言接口與實(shí)現(xiàn))
本書(shū)概念清晰、內(nèi)容新穎、實(shí)例詳盡,是一本有關(guān)設(shè)計(jì)、實(shí)現(xiàn)和有效使用C語(yǔ)言庫(kù)函數(shù),掌握創(chuàng)建可重用C語(yǔ)言軟件模塊技術(shù)的參考指南。本書(shū)倡導(dǎo)基于接口的C語(yǔ)言設(shè)計(jì)理念及其實(shí)現(xiàn)技術(shù),深入詳細(xì)地描述了24個(gè)C語(yǔ)言接口及其實(shí)現(xiàn)。本書(shū)通過(guò)敘述如何用一種與語(yǔ)言無(wú)關(guān)的方法將接口的設(shè)計(jì)與實(shí)現(xiàn)獨(dú)立開(kāi)來(lái),從而形成一種基于接口的設(shè)計(jì)途徑來(lái)創(chuàng)建可重用的API。本書(shū)是一本針對(duì)C語(yǔ)言程序員的不可多得的好書(shū),也是值得所有希望掌握可重用軟件模塊技術(shù)的讀者閱讀的參考書(shū)籍。
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140473
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論