0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

細(xì)談c語(yǔ)言歷史

黃工的嵌入式技術(shù)圈 ? 來(lái)源:網(wǎng)站整理 ? 2020-03-14 11:39 ? 次閱讀

C標(biāo)準(zhǔn)的內(nèi)容有很多,我有許多都沒(méi)有了解過(guò),不過(guò)基本的一些東西,相信大家都知道。周末了,摘取網(wǎng)上一些知識(shí)分享給大家。先看看C各版本基本信息

C語(yǔ)言起源

C 語(yǔ)言最早的原型是 ALGOL 60 1963 年,劍橋大學(xué)將其發(fā)展成為CPL(Combined Programing Language)。 1967 年,劍橋大學(xué)的 Matin Richards 對(duì) CPL 語(yǔ)言進(jìn)行了簡(jiǎn)化,產(chǎn)生了 BCPL 語(yǔ)言。 1970 年,美國(guó)貝爾實(shí)驗(yàn)室(Bell Labs)的 Ken Thompson 將 BCPL 進(jìn)行了修改,并取名叫做 B 語(yǔ)言,意思是提取 CPL 的精華(Boiling CPL down to its basic good features)。并用 B 語(yǔ)言寫了第一個(gè) UNIX 系統(tǒng)。 1973 年,AT&T 貝爾實(shí)驗(yàn)室的 Dennis Ritchie(D.M.RITCHIE) 在 BCPL 和 B 語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了一種新的語(yǔ)言,取 BCPL 中的第二個(gè)字母為名,這就是大名鼎鼎的 C 語(yǔ)言。隨后不久,UNIX 的內(nèi)核(Kernel) 和應(yīng)用程序全部用 C 語(yǔ)言改寫,從此,C 語(yǔ)言成為 UNIX 環(huán)境下使用最廣泛的主流編程語(yǔ)言。

K&R C

1978 年,Dennis Ritchie 和 Brian Kernighan 合作推出了《The C Programming Language》的第一版(按照慣例,經(jīng)典著作一定有簡(jiǎn)稱,該著作簡(jiǎn)稱為 K&R),書末的參考指南 (Reference Manual) 一節(jié)給出了當(dāng)時(shí) C 語(yǔ)言的完整定義,成為那時(shí) C 語(yǔ)言事實(shí)上的標(biāo)準(zhǔn),人們稱之為 K&R C。從這一年以后,C 語(yǔ)言被移植到了各種機(jī)型上,并受到了廣泛的支持,使 C 語(yǔ)言在當(dāng)時(shí)的軟件開(kāi)發(fā)中幾乎一統(tǒng)天下。

C89 (ANSI C)

隨著C語(yǔ)言在多個(gè)領(lǐng)域的推廣、應(yīng)用,一些新的特性不斷被各種編譯器實(shí)現(xiàn)并添加進(jìn)來(lái)。于是,建立一個(gè)新的“無(wú)歧義、于具體平臺(tái)無(wú)關(guān)的 C 語(yǔ)言定義” 成為越來(lái)越重要的事情。1983 年,ASC X3(ANSI 屬下專門負(fù)責(zé)信息技術(shù)標(biāo)準(zhǔn)化的機(jī)構(gòu),現(xiàn)已改名為 INCITS)成立了一個(gè)專門的技術(shù)委員會(huì) J11(J11 是委員會(huì)編號(hào),全稱是 X3J11),負(fù)責(zé)起草關(guān)于 C 語(yǔ)言的標(biāo)準(zhǔn)草案。1989 年,草案被 ANSI 正式通過(guò)成為美國(guó)國(guó)家標(biāo)準(zhǔn),被稱為C89 標(biāo)準(zhǔn)。

C90 (ISO C)

隨后, 《The C Programming Language》第二版開(kāi)始出版發(fā)行,書中內(nèi)容根據(jù) ANSI C(C89)進(jìn)行了更新。1990 年,在 ISO/IEC JTC1/SC22/WG14 (ISO/IEC 聯(lián)合技術(shù)第 I 委員會(huì)第 22 分委員會(huì)第 14 工作組) 的努力下,ISO 批準(zhǔn)了 ANSI C 成為國(guó)際標(biāo)準(zhǔn)。于是 ISO C(又稱為 C90) 誕生了。除了標(biāo)準(zhǔn)文檔在印刷編排上的某些細(xì)節(jié)不同外,ISO C(C90) 和 ANSI C(C89) 在技術(shù)上完全一樣。

C95

之后,ISO 在 1994、1996 年 分別出版了 C90 的技術(shù)勘誤文檔,更正了一些印刷錯(cuò)誤,并在1995 年通過(guò)了一份 C90 的技術(shù)補(bǔ)充,對(duì) C90 進(jìn)行了微小的擴(kuò)充,經(jīng)過(guò)擴(kuò)充后的 ISO C 被稱為 C95。

C99

1999 年,ANSI 和 ISO 又通過(guò)了最新版本的 C 語(yǔ)言標(biāo)準(zhǔn)和技術(shù)勘誤文檔,該標(biāo)準(zhǔn)被稱為 C99 。這基本上是目前關(guān)于 C 語(yǔ)言的最新、最權(quán)威的定義了。

現(xiàn)在,各種 C 編譯器都提供了 C89(C90) 的完整支持,對(duì) C99 還只提供了部分支持,還有一部分提供了對(duì)某些 K&R C 風(fēng)格的支持。

目前主要的C語(yǔ)言規(guī)范有c89(c90), c95(94)和c99。C89是最早的C語(yǔ)言規(guī)范,于89年提出,90年先由美國(guó)國(guó)家標(biāo)準(zhǔn)局推出ANSI版本,后來(lái)被接納為ISO國(guó)際標(biāo)準(zhǔn) (ISO/IEC 9899:1990),因而有時(shí)也稱為c90。但在94和96年分別對(duì)c90進(jìn)行了兩次錯(cuò)誤修正,gcc支持的是修正后的c89(90)版本的C語(yǔ)言規(guī) 范。在95年提出過(guò)對(duì)90版規(guī)范的修訂案,稱為 C95或者AMD1。gcc也支持c95規(guī)范。最新的一次C規(guī)范修訂在99年制定(ISO/IEC 9899:1999),即常稱的C99規(guī)范。在2001年對(duì)C99的錯(cuò)誤進(jìn)行了修正,gcc支持的修正后的c99規(guī)范,但是到目前為止,gcc還沒(méi)有完成對(duì)c99規(guī)范的完全支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • UNIX操作系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    15288
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7581

    瀏覽量

    135650
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    按照這樣學(xué)習(xí)C語(yǔ)言,成為卷王不是夢(mèng)!

    在計(jì)算機(jī)編程領(lǐng)域,C語(yǔ)言被譽(yù)為一種強(qiáng)大而靈活的編程語(yǔ)言,掌握好C語(yǔ)言不僅可以讓你輕松駕馭各種編程任務(wù),還能夠?yàn)槟愕穆殬I(yè)生涯打下堅(jiān)實(shí)的基礎(chǔ)。但
    的頭像 發(fā)表于 07-06 08:04 ?254次閱讀
    按照這樣學(xué)習(xí)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>,成為卷王不是夢(mèng)!

    PLC編程語(yǔ)言C語(yǔ)言的區(qū)別

    在工業(yè)自動(dòng)化和計(jì)算機(jī)編程領(lǐng)域中,PLC(可編程邏輯控制器)編程語(yǔ)言C語(yǔ)言各自扮演著重要的角色。盡管兩者都是編程語(yǔ)言,但它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別。本文將從多個(gè)維度深入探討PLC編程
    的頭像 發(fā)表于 06-14 17:11 ?2112次閱讀

    C語(yǔ)言基礎(chǔ)-為什么要使用C?

    當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) MySQL 都是使用 C 語(yǔ)言編寫的。
    發(fā)表于 03-25 11:20 ?354次閱讀

    plc編程語(yǔ)言c語(yǔ)言的聯(lián)系 c語(yǔ)言和PLC有什么區(qū)別

    PLC編程語(yǔ)言C語(yǔ)言的聯(lián)系 PLC(可編程邏輯控制器)是一種針對(duì)自動(dòng)化控制系統(tǒng)的特殊計(jì)算機(jī)。PLC編程語(yǔ)言是為了控制和管理自動(dòng)化生產(chǎn)過(guò)程中的各種設(shè)備而設(shè)計(jì)的。與之相比,
    的頭像 發(fā)表于 02-05 14:21 ?3592次閱讀

    c語(yǔ)言,c++,java,python區(qū)別

    C語(yǔ)言、C++、Java和Python是四種常見(jiàn)的編程語(yǔ)言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語(yǔ)言
    的頭像 發(fā)表于 02-05 14:11 ?1703次閱讀

    vb語(yǔ)言c++語(yǔ)言的區(qū)別

    VB語(yǔ)言C++語(yǔ)言是兩種不同的編程語(yǔ)言,雖然它們都屬于高級(jí)編程語(yǔ)言,但在設(shè)計(jì)和用途上有很多區(qū)別。下面將詳細(xì)比較VB
    的頭像 發(fā)表于 02-01 10:20 ?1828次閱讀

    詳解C語(yǔ)言變量和數(shù)據(jù)類型

    C語(yǔ)言大家都不陌生吧,計(jì)算機(jī)、電子信息、通信工程、自動(dòng)化等專業(yè)的必學(xué)課程,前面和大家介紹過(guò)C語(yǔ)言歷史和編程環(huán)境,今天再來(lái)介紹一下變量和數(shù)據(jù)
    的頭像 發(fā)表于 12-11 10:40 ?760次閱讀
    詳解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>變量和數(shù)據(jù)類型

    C語(yǔ)言C++中那些不同的地方

    C語(yǔ)言雖說(shuō)經(jīng)常和C++在一起被大家提起,但可千萬(wàn)不要以為它們是一個(gè)東西?,F(xiàn)在我們常用的C語(yǔ)言C
    的頭像 發(fā)表于 12-07 14:29 ?858次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>和<b class='flag-5'>C</b>++中那些不同的地方

    C語(yǔ)言運(yùn)行環(huán)境是什么

    C語(yǔ)言運(yùn)行環(huán)境(C language runtime environment)是指在執(zhí)行C語(yǔ)言程序時(shí)所需的軟件及硬件環(huán)境。
    的頭像 發(fā)表于 11-27 16:13 ?3196次閱讀

    如何選擇創(chuàng)建c語(yǔ)言c++

    選擇創(chuàng)建 C 語(yǔ)言C++ 都需要綜合考慮多個(gè)因素。在決定使用哪種語(yǔ)言之前,我們需要對(duì)這兩種語(yǔ)言的特點(diǎn)、優(yōu)缺點(diǎn)、適用場(chǎng)景、學(xué)習(xí)成本等進(jìn)行全
    的頭像 發(fā)表于 11-27 15:58 ?534次閱讀

    \0在c語(yǔ)言中怎么用

    C語(yǔ)言是一種廣泛使用的程序設(shè)計(jì)語(yǔ)言,具有高效、簡(jiǎn)潔和可移植等特點(diǎn)。本文將詳盡介紹C語(yǔ)言的基本語(yǔ)法、數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)及庫(kù)函數(shù)等內(nèi)容,以
    的頭像 發(fā)表于 11-24 09:59 ?2915次閱讀

    c語(yǔ)言經(jīng)典教程

    電子發(fā)燒友網(wǎng)站提供《c語(yǔ)言經(jīng)典教程.rar》資料免費(fèi)下載
    發(fā)表于 11-20 11:45 ?6次下載
    <b class='flag-5'>c</b><b class='flag-5'>語(yǔ)言</b>經(jīng)典教程

    如何學(xué)習(xí)C語(yǔ)言

    電子發(fā)燒友網(wǎng)站提供《如何學(xué)習(xí)C語(yǔ)言.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 11:44 ?0次下載
    如何學(xué)習(xí)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>

    C語(yǔ)言課程設(shè)計(jì)案例

    電子發(fā)燒友網(wǎng)站提供《C語(yǔ)言課程設(shè)計(jì)案例.rar》資料免費(fèi)下載
    發(fā)表于 11-20 10:51 ?5次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>課程設(shè)計(jì)案例

    C語(yǔ)言進(jìn)階之嵌入式系統(tǒng)高級(jí)C語(yǔ)言編程

    電子發(fā)燒友網(wǎng)站提供《C語(yǔ)言進(jìn)階之嵌入式系統(tǒng)高級(jí)C語(yǔ)言編程.rar》資料免費(fèi)下載
    發(fā)表于 11-18 10:32 ?1次下載
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>進(jìn)階之嵌入式系統(tǒng)高級(jí)<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>編程