那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

細談c語言歷史

黃工的嵌入式技術圈 ? 來源:網站整理 ? 2020-03-14 11:39 ? 次閱讀

C標準的內容有很多,我有許多都沒有了解過,不過基本的一些東西,相信大家都知道。周末了,摘取網上一些知識分享給大家。先看看C各版本基本信息

C語言起源

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

K&R C

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

C89 (ANSI C)

隨著C語言在多個領域的推廣、應用,一些新的特性不斷被各種編譯器實現并添加進來。于是,建立一個新的“無歧義、于具體平臺無關的 C 語言定義” 成為越來越重要的事情。1983 年,ASC X3(ANSI 屬下專門負責信息技術標準化的機構,現已改名為 INCITS)成立了一個專門的技術委員會 J11(J11 是委員會編號,全稱是 X3J11),負責起草關于 C 語言的標準草案。1989 年,草案被 ANSI 正式通過成為美國國家標準,被稱為C89 標準。

C90 (ISO C)

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

C95

之后,ISO 在 1994、1996 年 分別出版了 C90 的技術勘誤文檔,更正了一些印刷錯誤,并在1995 年通過了一份 C90 的技術補充,對 C90 進行了微小的擴充,經過擴充后的 ISO C 被稱為 C95。

C99

1999 年,ANSI 和 ISO 又通過了最新版本的 C 語言標準和技術勘誤文檔,該標準被稱為 C99 。這基本上是目前關于 C 語言的最新、最權威的定義了。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UNIX操作系統

    關注

    0

    文章

    13

    瀏覽量

    15329
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137739
收藏 人收藏

    評論

    相關推薦

    C語言程序設計教程第4版第8講:指針

    C語言指針講解
    發表于 11-20 14:10 ?0次下載

    C語言指針學習筆記

    本文從底層內存分析,徹底讓讀者明白C語言指針的本質。
    的頭像 發表于 11-05 17:40 ?308次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>指針學習筆記

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網絡編程的基礎。通過使用socket,程序可以發送和接收數據,實現不同計算機之間的通信
    的頭像 發表于 11-01 16:51 ?473次閱讀

    C語言C++中結構體的區別

    同樣是結構體,看看在C語言C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?357次閱讀

    C語言與Java語言的對比

    C語言和Java語言都是當前編程領域中的重要成員,它們各自具有獨特的優勢和特點,適用于不同的應用場景。以下將從語法特性、內存管理、跨平臺性、性能、應用領域等多個方面對C
    的頭像 發表于 10-29 17:31 ?440次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統級編程的首選語言
    的頭像 發表于 10-29 17:30 ?370次閱讀

    C語言關鍵字--typedef

    C語言關鍵字使用方法學習指南!
    的頭像 發表于 10-07 12:44 ?344次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與原始的 C 語言代碼在結構和表達上存在巨大的
    的頭像 發表于 09-02 10:37 ?2798次閱讀

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?7次下載

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領域,C語言被譽為一種強大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務,還能夠為你的職業生涯打下堅實的基礎。但
    的頭像 發表于 07-06 08:04 ?362次閱讀
    按照這樣學習<b class='flag-5'>C</b><b class='flag-5'>語言</b>,成為卷王不是夢!

    PLC編程語言C語言的區別

    在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區別。本文將從多個維度深入探討PLC編程
    的頭像 發表于 06-14 17:11 ?3243次閱讀

    c語言怎么做可視化界面

    C語言是一種通用的編程語言,廣泛應用于系統編程、嵌入式開發等領域。雖然C語言本身并不支持直接創建可視化界面,但通過結合一些圖形庫和工具,我們
    的頭像 發表于 06-06 10:46 ?2567次閱讀

    C語言基礎-為什么要使用C

    當今最流行的 Linux 操作系統和 RDBMS(Relational Database Management System:關系數據庫管理系統) MySQL 都是使用 C 語言編寫的。
    發表于 03-25 11:20 ?489次閱讀

    嵌入式系統中C語言結構體的基礎實現與應用

    C語言中的數組只能允許程序員定義存儲相同類型數據。但是結構是C語言編程中允許您存儲不同數據類型的數據。
    發表于 03-12 14:29 ?561次閱讀
    嵌入式系統中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結構體的基礎實現與應用

    C語言#define的應用

    C/C++ 編程語言中,當程序被編譯時,被發送到編譯器,編譯器將程序轉換為機器語言,然后完成編譯并執行該程序。預處理器也稱為宏預處理器。
    發表于 03-06 11:29 ?429次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>#define的應用
    百家乐官网技巧看路| 连环百家乐官网的玩法技巧和规则| 德州扑克的技巧| 百家乐能破解| 百家乐路单破解方法| 百家乐官网特殊计| 红宝石百家乐官网娱乐城| 真钱百家乐官网公司哪个好| 通州市| k7线上娱乐| 盈彩娱乐| 盛京棋牌网| 六合彩开奖时间| 能赚钱的棋牌游戏| 大发888娱乐城哪个好| 游戏机百家乐庄闲| 沙龙百家乐赌场娱乐网规则| 网络百家乐诈骗| 百家乐长庄投注| 百家乐赌场娱乐城大全| 百家乐平台开户哪里优惠多| 百家乐投注翻倍方法| 真人百家乐网站接口| 百家乐投注杀手| 百家乐官网网络赌博真假| 澳门百家乐官网洗码提成查询| 澳门百家乐官网怎么看小路| 百家乐官网套装| 塑料百家乐官网筹码| 百家乐官网赌场论坛博客| 百家乐官网赌博筹码大不大| 百家乐官网游戏新| 网上百家乐官网作弊下载| 百家乐官网兑换棋牌| 百家乐官网博彩优惠论坛| 百家乐官网赌场导航| 金牌百家乐官网的玩法技巧和规则 | 百家乐投注注技巧| 赌百家乐的玩法技巧和规则| 大发888娱乐城casinolm0| 德州扑克秘籍|