一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

C語(yǔ)言入門(mén)了解篇—C語(yǔ)言發(fā)展史

 漫步之心情 2022-01-18

前言

作為理工科的我們,看到一些理論、概念和一些術(shù)語(yǔ),就是腦瓜疼。在大學(xué)時(shí),這些知識(shí),很多時(shí)候都是作為填空題,最終的答案就跟四級(jí)作文差不多,答案腦洞大開(kāi)?;貧w正題,其實(shí),有很多東西我們只需要了解一下就好了,知道有這么一回事。例如,C語(yǔ)言是誰(shuí)搞出來(lái)的,C語(yǔ)言又是怎么編譯?后者便是經(jīng)常問(wèn)到的問(wèn)題。

這篇文章主要是C語(yǔ)言入門(mén)中的了解篇,簡(jiǎn)單了解一下C語(yǔ)言的發(fā)展史和特點(diǎn),還有C語(yǔ)言編譯的過(guò)程。


C語(yǔ)言的發(fā)展史

所謂“吃水不忘挖井人”,我們學(xué)習(xí)C語(yǔ)言,那就需要知道C語(yǔ)言之父是哪位大佬了。那么他是來(lái)自美國(guó)的丹尼斯.里奇(DennisRitchie),生于1941年,在1972年發(fā)明了C語(yǔ)言,2011年10月12日永遠(yuǎn)離開(kāi)了我們。他可謂是程序員祖師爺,來(lái)自于貝爾實(shí)驗(yàn)室,1983年獲得圖靈獎(jiǎng),除了C語(yǔ)言,我們熟知的Unix系統(tǒng)也是他設(shè)計(jì)開(kāi)發(fā)的。下圖就是丹尼斯里奇的照片。

文章圖片1

C語(yǔ)言并不是只給一個(gè)人使用的,使用者就包括開(kāi)發(fā)者、維護(hù)者、管理者和實(shí)現(xiàn)者,這么多人一起用,假如你一套他一套,沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),這時(shí)候就亂成一團(tuán)了,你寫(xiě)的東西他看不懂,他寫(xiě)的東西你也看不懂。所以,C語(yǔ)言就必須有標(biāo)準(zhǔn),推動(dòng)其發(fā)展。這些標(biāo)準(zhǔn)就可以看似C語(yǔ)言的發(fā)展史了。

1.“K&R”標(biāo)準(zhǔn)

1978年,丹尼斯.里奇和布萊恩.科爾尼汗聯(lián)合出版了《C程序設(shè)計(jì)語(yǔ)言》(TheC ProgrammingLanguage)的著作,這本書(shū)被C語(yǔ)言開(kāi)發(fā)者稱(chēng)為“K&R”,很多年來(lái)被當(dāng)作C語(yǔ)言的非正式的標(biāo)準(zhǔn)說(shuō)明,人們稱(chēng)這個(gè)版本的C語(yǔ)言為“K&RC”。

1988年丹尼斯里奇和布萊恩科爾尼汗修改此書(shū),出版了《C程序設(shè)計(jì)語(yǔ)言》第二版,第二版就涵蓋了ANSIC語(yǔ)言標(biāo)準(zhǔn),這個(gè)版本也成為了大學(xué)C語(yǔ)言的經(jīng)典教材。書(shū)本如下圖:

文章圖片2

鏈接:
https://pan.baidu.com/s/12HgGVVGfAMYmzBOAPu6Cqg

(附件有該書(shū)的pdf版本)

2. “C89”標(biāo)準(zhǔn)

C語(yǔ)言在1972年11月問(wèn)世,1978年由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)布。1970到80年代,C語(yǔ)言被廣泛應(yīng)用,從大型主機(jī)到小型微機(jī),也衍生了C語(yǔ)言很多不同的版本。為了統(tǒng)一C語(yǔ)言版本,1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)局(AmericanNational StandardsInstitute,ANSI)開(kāi)始制定C語(yǔ)言標(biāo)準(zhǔn),于1989年12月完成,在1990年春發(fā)布,這個(gè)標(biāo)準(zhǔn)稱(chēng)為“ANSIC”標(biāo)準(zhǔn),也叫“C89”標(biāo)準(zhǔn)。

3.“C90”標(biāo)準(zhǔn)

后來(lái)ANSI把“C89”標(biāo)準(zhǔn)提交到ISO(國(guó)際化標(biāo)準(zhǔn)組織),1990年被ISO采納為國(guó)際標(biāo)準(zhǔn),稱(chēng)為“ISOC”標(biāo)準(zhǔn)。又因?yàn)檫@個(gè)版本是1990年發(fā)布的,因此也被稱(chēng)為“C90”標(biāo)準(zhǔn)。ANSIC(C89)和ISOC(C90)內(nèi)容基本相同,主要區(qū)別在于格式組織不一樣而已。

4.“C99”標(biāo)準(zhǔn)

在“C89”標(biāo)準(zhǔn)確立后,C語(yǔ)言的規(guī)范在很長(zhǎng)一段時(shí)間內(nèi)都沒(méi)有大的變動(dòng)。直到1995年,C程序設(shè)計(jì)語(yǔ)言工作組對(duì)C語(yǔ)言進(jìn)行了一些修改,稱(chēng)為后來(lái)在1999年發(fā)布的ISO/IEC9899:1999標(biāo)準(zhǔn),通常被稱(chēng)為“C99”標(biāo)準(zhǔn)。

5.“C11”標(biāo)準(zhǔn)

2007年,C語(yǔ)言標(biāo)準(zhǔn)委員會(huì)又重新開(kāi)始修訂C語(yǔ)言,在2011年正式發(fā)布了ISO/IEC9899:2011標(biāo)準(zhǔn),簡(jiǎn)稱(chēng)為“C11”標(biāo)準(zhǔn)。

以下為C語(yǔ)言發(fā)展圖。

文章圖片3

這么多標(biāo)準(zhǔn),到底是用哪個(gè)呢?“K&R”是非正式標(biāo)準(zhǔn),而且年代久遠(yuǎn),現(xiàn)在基本上是不使用;“C89”和“C90”屬于同一個(gè)標(biāo)準(zhǔn),內(nèi)容一樣,只是認(rèn)證的機(jī)構(gòu)不一樣而已,這個(gè)標(biāo)準(zhǔn)也一直用到現(xiàn)在。目前的主流應(yīng)該是“C99”標(biāo)準(zhǔn),GCC編譯器對(duì)“C99”標(biāo)準(zhǔn)的支持相當(dāng)于較好。那GCC是啥呢?GCC(GNUCompiler Collection, GNU編譯器集合)是一套由GNU工程開(kāi)發(fā)的支持多種編程語(yǔ)言的編譯器。

C語(yǔ)言被人稱(chēng)為結(jié)構(gòu)化語(yǔ)言,那么C語(yǔ)言程序設(shè)計(jì)就是結(jié)構(gòu)化程序設(shè)計(jì),主要觀點(diǎn)就是采用自頂向下,逐步細(xì)分和模塊化的程序設(shè)計(jì)方法,使用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)來(lái)構(gòu)造程序。

C語(yǔ)言從誕生到現(xiàn)在,已經(jīng)經(jīng)歷了半個(gè)多世紀(jì),依然受到開(kāi)發(fā)者的青睞,并稱(chēng)為廣大工程師的入門(mén)首選語(yǔ)言,并且在TIOBE編程語(yǔ)言榜上都是前三位置(很多時(shí)候都是老大位置)。下圖就是TIOBE最新編程語(yǔ)言排行榜,也可以通過(guò)下面的網(wǎng)址進(jìn)行查看
https://www./tiobe-index/。

文章圖片4

C語(yǔ)言的優(yōu)點(diǎn)

在這里概括為三個(gè):簡(jiǎn)潔、靈活、高效。

1.簡(jiǎn)潔性

C語(yǔ)言一共只有32個(gè)關(guān)鍵字和3種基本控制結(jié)構(gòu),可通過(guò)簡(jiǎn)短的代碼實(shí)現(xiàn)模塊,并對(duì)模塊加以整合,從而構(gòu)建出一個(gè)龐大而復(fù)雜的程序。32個(gè)關(guān)鍵字如下圖所示,而3種基本控制結(jié)構(gòu)即前面提到的順序、選擇、循環(huán)。

文章圖片5

2.靈活性

C語(yǔ)言程序編寫(xiě)形式比較自由,語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。C語(yǔ)言能通過(guò)簡(jiǎn)單的整數(shù)類(lèi)型、實(shí)數(shù)類(lèi)型和字符類(lèi)型,靈活構(gòu)造出更加復(fù)雜的數(shù)組、指針、結(jié)構(gòu)體、聯(lián)合體等復(fù)合數(shù)據(jù)類(lèi)型,并以此實(shí)現(xiàn)鏈表、隊(duì)列、棧、樹(shù)、圖等各種數(shù)據(jù)結(jié)構(gòu)。特別是C語(yǔ)言的精華“指針”,通過(guò)指針可以直接尋址到相對(duì)應(yīng)的內(nèi)存單元,即可對(duì)內(nèi)存的數(shù)據(jù)進(jìn)行訪問(wèn)、修改等操作,從而編寫(xiě)出非常靈動(dòng)、神奇的C語(yǔ)言程序。

3.高效性

程序設(shè)計(jì)語(yǔ)言可分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言,機(jī)器語(yǔ)言是使用0和1二進(jìn)制碼編寫(xiě)的語(yǔ)言,由于計(jì)算機(jī)能直接識(shí)別,所以說(shuō)用機(jī)器語(yǔ)言編寫(xiě)的程序效率很高,但是對(duì)于我們來(lái)說(shuō)可讀性很差,所以后來(lái)就產(chǎn)生了匯編代碼,提高了程序的可讀性。

用C語(yǔ)言編譯生產(chǎn)的目標(biāo)代碼執(zhí)行的效率僅比匯編語(yǔ)言低一些,但是比其他高級(jí)語(yǔ)言(C 、java、C#)編寫(xiě)出的程序要高。

我們天天使用的操作系統(tǒng)、數(shù)據(jù)庫(kù)、游戲引擎等大多都是使用C語(yǔ)言進(jìn)行實(shí)現(xiàn)的,還有很多經(jīng)典算法、框架也是使用C語(yǔ)言進(jìn)行編寫(xiě)的。學(xué)好C語(yǔ)言也是為了嵌入式開(kāi)發(fā)打好基礎(chǔ)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    国产丝袜极品黑色高跟鞋| 欧美日韩国产亚洲三级理论片| 六月丁香六月综合缴情| 老富婆找帅哥按摩抠逼视频| 午夜福利视频六七十路熟女| 欧洲偷拍视频中文字幕| 色婷婷视频在线精品免费观看| 日韩一区二区三区久久| 美女被后入视频在线观看| 亚洲国产精品久久精品成人| 国产一级特黄在线观看| 午夜久久久精品国产精品| 免费观看一区二区三区黄片| 日本熟女中文字幕一区| 久久国产亚洲精品成人| 亚洲国产成人久久99精品| 国产精品人妻熟女毛片av久久| 香港国产三级久久精品三级| 国产亚洲中文日韩欧美综合网| 欧美性欧美一区二区三区| 国产精品一区二区三区欧美| 色小姐干香蕉在线综合网| 国产日本欧美韩国在线| 国产精品欧美日韩中文字幕| 亚洲国产av在线视频| 人妻乱近亲奸中文字幕| 偷拍洗澡一区二区三区| 国产熟女高清一区二区| 少妇人妻无一区二区三区| 欧洲一级片一区二区三区| 欧美成人免费一级特黄| 日本不卡一本二本三区| 在线观看视频日韩成人| 好吊妞在线免费观看视频| 亚洲天堂有码中文字幕视频| 精品少妇人妻一区二区三区| 日韩精品视频一二三区| 国产精品免费自拍视频| 老外那个很粗大做起来很爽| 日本高清一区免费不卡| 伊人网免费在线观看高清版|