當前位置:首頁 » 編程語言 » C語言的誕生及發展歷史
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言的誕生及發展歷史

發布時間: 2023-02-23 02:30:13

『壹』 c語言什麼時候誕生

1969-1973年在美國電話電報公司(AT&T)貝爾實驗室開始了C語言的最初研發。根據C語言的發明者丹尼斯·里奇 (Dennis Ritchie) 說,C 語言最重要的研發時期是在1972年。
C語言之所以命名為C,是因為C語言源自Ken Thompson發明的 B語言,而B語言則源自BCPL語言。
C語言的誕生是和UNIX操作系統的開發密不可分的,原先的UNIX操作系統都是用匯編語言寫的,1973年UNIX操作系統的核心用C語言改寫,從此以後,C語言成為編寫操作系統的主要語言。

『貳』 計算機c語言發展歷程

C語言是在70年代初問世的,一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的<>一書,通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准學會在此基礎上制定了一個C
語言標准,於一九八三年發表,通常稱之為ANSI
C。當代最優秀的程序設計語,早期的C語言主要是用於UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它操作系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用,成為當代最優秀的程序設計語言之一。C語言是一種結構化語言,一般不具備邏輯關系。它層次清晰,便於按模塊化方式組織程序,易於調試和維護。C語言的表現能力和處理能力極強,它不僅具有豐富的運算符和數據類型,便於實現各類復雜的數據結構;而且它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由於C語言實現了對硬體的編程操作,因此C語言集高級語言和低級語言的功能於一體。既可用於系統軟體的開發,也適合於應用軟體的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。

『叄』 c語言是什麼

語言誕生於美國的貝爾實驗室,為了利於C語言的全面推廣,許多專家學者和硬體廠商聯合組成了C語言標准委員會,並在之後的1989年,誕生了第一個完備的C標准,簡稱「C89」。


C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言擁有一套完整的理論體系經過了漫長的發展歷史,在編程語言中具有舉足輕重的地位。

別著急離婚,你的婚姻還有救!做下情感測試,情感導師助你挽回



愛燃情感咨詢
廣告
相關視頻
推腿的好處和作用
第一、可以起到按摩腿部肌肉的效果,使腿部肌肉力量幾種,不容易受到外傷,同時也可以保護股骨頭不受到壓迫,但是要注意力度適中,避免過度用力引起肌肉酸痛。
文章
2020-07-17
救荒本草是哪個朝代的
明朝。《救荒本草》一部由是醫學家朱橚,主持編寫的植物圖譜,於明永樂四年編寫完成,是我國歷史上最早的一部以救荒為宗旨的農學、植物學專著書。全書分上、 下兩卷。記載植物414種,每種都配有精美的木刻插圖。
文章
2020-07-17
保稅區是什麼意思
保稅區是經國務院批准設立的、海關實施特殊監管的經濟區域,是我國目前開放度和自由度最大的經濟區域。其功能定位為保稅倉儲、出口加工、轉口貿易三大功能。
文章
2020-07-17
實蛋和毛蛋的區別
實蛋是由雞蛋打出的蛋液和食用鹼攪拌而成的蛋液,倒入保存好的雞蛋胚中,凝固而成的一種雞蛋。毛雞蛋是雞蛋在孵化過程中受到不當的溫度、濕度或者是某些病菌的影響,導致雞胚發育停止,死在蛋殼內尚未成熟的小雞。
文章
2020-07-17

愛人出軌了?不想離婚?你可以這樣去挽回!
情感老師-欣悅老師
廣告
lpr定價基準轉換是什麼意思
LPR就是包括四大行的在內的多家銀行每月公布一個自己的貸款利率,然後以每家銀行的貸款發放量占這些銀行總貸款量的比例作為權重,求出一個加權平均數,這個數就是LPR,即市場貸款基準利率。
文章
2020-07-17
水果核屬於什麼垃圾
水果核屬於濕垃圾。濕垃圾即易腐垃圾,主要包括:食材廢料、剩菜剩飯、過期食品、瓜皮果核、花卉綠植、中葯葯渣等易腐的生物質生活廢棄物。濕垃圾應從產生時就與其他品種垃圾分開收集,投放前盡量瀝干水分。
文章
2020-07-17
郭守敬的主要貢獻是什麼方面
主要貢獻是:參與制定了授時歷。此書不但在天文數據上有巨大進步,而且在天文學的計算方法方面也有重大的創新。使用四海測驗法結合改進、創造的天文儀器,進行了許多精密的天文觀測,從而使授時歷的編制有了可靠的觀測基礎。
文章
2020-07-17
三文魚跟虹鱒區別
紋理和顏色。三文魚:脂肪含量高,肉色偏橙黃、表面的白色花紋更白,線條較寬,且線條邊緣比較模糊。虹鱒魚:脂肪含量少,線條細而且邊緣很硬,也就是紅白相間很明顯。
文章
2020-07-17

司法考試(8月22日起)重新調整,非法學專業需滿足3大條件
柒賢教育
廣告
7日年化收益率是什麼意思
貨幣基金是以國債或票據為投資對象的一種基金。而七日年化收益率,就是屬於貨幣基金的一個專業名詞。它是以基金最近7日(含節假日)的收益,所折算出來的基金年收益率。
文章
2020-07-17
冒煙冷飲原理
它是運用零下196℃的液氮瞬間凝凍技術,食用液氮是無色,無味的液體,配合使原奶脂在短時間內凝凍成型。或者在液氮里浸泡拿出來就會冒煙了,真正的現場純手工製作過程充滿科技感、魔幻感。
文章
2020-07-17

『肆』 電子計算機需要用到的C語言是如何產生和發展的

C 語言由一系列旨在進行系統編程的語言演變而來,系統編程就是編寫像編譯器、匯編器、編輯器以及最終的操作系統這樣的程序。麻省理工學院有一個與貝爾實驗室合作的 Multics 項目,它計劃用一種高級語言編寫系統的所有部分(這在 1965 年那時候是一個新想法)。他們打算使用 IBM 的 PL/1,但它非常復雜,而且承諾的編譯器也沒有及時交付。

當 肯·湯普遜Ken Thompson 開始研究後來的 Unix 時,他在 BCPL 的基礎上創造了一種更簡單的語言,他稱之為 B 語言。在 1969 年,他為搭載了第一個 Unix 原型系統的 PDP-7 計算機實現了這種語言。

BCPL 和 B 都是「無類型」語言。也就是說,它們只有一種數據類型,即整數。DEC 公司的 PDP-11 計算機大約在 1971 年投入使用,它搭載了第一個真正的 Unix 系統。PDP-11 支持幾種數據類型,特別是 8 位位元組和 16 位整數。因此,一種同樣支持幾種數據類型的語言是更好的選擇。這就是 C 語言的起源。

C 語言最初只在 Unix 上使用,盡管過了一段時間,也有了用於其他機器和操作系統的 C 語言編譯器。大多數情況下,它被用於系統級的編程,涵蓋了相當多有趣的領域,還有很多用於管理 AT&T 電話網路運營的系統。

『伍』 c語言產生的歷史背景是怎樣的

C語言出現的歷史背景
C語言是國際上廣泛流行的計算機高級語言,既可用來寫系統軟體,也可用來寫應用軟體。 C語言是在B語言的基礎上發展起來的,它的根源可以追溯到ALGOL 60。1960年出現的ALGOL 60是一種面向問題的高級語言,它離硬體比較遠,不宜用來編寫系統程序。1963年英國的劍橋大學推出了CPL (combined programming language)語言。CPL語言在ALGOL 60的基礎上接近硬體一些,但規模比較大,難以實現。1967年英國劍橋大學的Matin Richards對CPL語言做了簡化,推出了BCPL (basic combined programming language) 語言。1970年美國貝爾實驗室的Ken Thompson 以BCPL語言為基礎, 又做了進一步簡化, 設計出了很簡單的而且很接近硬體的B語言 (取BCPL的第一個字母), 並用B語言寫了第一個UNIX操作系統,在PDP7上實現。1971年在PDP11/20上實現了B語言,並寫了UNIX操作系統。但B語言過於簡單,功能有限。 1972年至1973年間,貝爾實驗室的D.M.Ritchie 在B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練,接近硬體),又克服了它們的缺點(過於簡單,數據無類型等)。最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thompson和D.M.Ritchie兩人合作把UNIX的90%以上用C改寫,即UNIX第5版。原來的UNIX 操作系統是1969年由美國的貝爾實驗室的K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的。 1972年至1973年間,貝爾實驗室的D.M.Ritchie 在B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言既保持了BCPL和B語言的優點(精練,接近硬體),又克服了它們的缺點(過於簡單,數據無類型等)。最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。1973年,K.Thompson和D.M.Ritchie兩人合作把UNIX的90%以上用C改寫,即UNIX第5版。原來的UNIX 操作系統是1969年由美國的貝爾實驗室的K.Thompson和D.M.Ritchie開發成功的,是用匯編語言寫的。
後來,C語言多次做了改進,但主要還是在貝爾實驗室內部使用。直到1975年UNIX第6版公布後,C語言的突出優點才引起人們的普遍注意。1977年出現了不依賴於具體機器的C語言編譯文本《可移植C語言編譯程序》,使C移植到其他機器時所需做的工作大大簡化了,這也推動了UNIX操作系統迅速地在各種機器上實現。例如VAX、 AT&T等計算機系統都相繼開發了UNIX。隨著UNIX的日益廣泛使用,C語言也迅速得到推廣。C語言和UNIX可以說是一對孿生兄弟,在發展過程中相輔相成。1978年以後,C語言已先後移植到大、中、小、微型機上,已獨立於UNIX和PDP了。現在C語言已風靡全世界,成為世界上應用最廣泛的幾種計算機語言之一。以1978年發表的UNIX第7版中的C編譯程序為基礎,Brian W.Kernighan和Dennis M.Ritchie (合稱K&R)合著了影響深遠的名著《The C Programming Language》,這本書中介紹的C語言成為後來廣泛使用的C語言版本的基礎,它被稱為標准C。1983年,美國國家標准化協會(ANSI)根據C語言問世以來各種版本對C的發展和擴充,制定了新的標准,稱為ANSI C。 ANSI C比原來的標准C有了很大的發展。K & R在1988年修改了他們的經典著作《The C Programming Language》,按照 ANSI C 標准重新寫了該書。1987年,ANSI又公布了新標准——87 ANSIC。
1990年,國際標准化組織ISO(International Standard Organization) 接受87 ANSI C為ISO C 的標准(ISO 9899—1990)。目前流行的C編譯系統都是以它為基礎的。本書的敘述基本上以ANSI C 為基礎。目前廣泛流行的各種版本C語言編譯系統雖然基本部分是相同的,但也有一些不同。在微型機上使用的有Microsoft C、 Turbo C、 Quick C、BORLAND C等,它們的不同版本又略有差異。因此,讀者應了解所用的計算機系統所配置的C編譯系統的特點和規定

『陸』 c語言的發展史

C語言,是一種通用的、過程式的編程語言,廣泛用於系統與應用軟體的開發。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。

C語言是由UNIX的研製者丹尼斯·里奇(Dennis Ritchie)於1970年 由 肯·湯普遜(Ken Thompson)所研製出的B語言的基礎上發展和完善起來的。目前,C語言編譯器普遍存在於各種不同的操作系統中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C語言的設計影響了許多後來的編程語言,例如C++、Objective-C、Java、C#等。

後來於1980年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局(American National Standard Institution)為C語言訂定了一套完整的國際標准語法,稱為ANSI C,作為C語言的標准。1980年代至今的有關程序開發工具,一般都支持符合ANSI C的語法。

C語言是一個程序語言,設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言也很適合搭配匯編語言來使用。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

早期發展
C語言最早是由丹尼斯·里奇為了在PDP-11電腦上運行的UNIX系統所設計出來的編程語言,第一次發展在1969年到1973年之間。之所以被稱為「C」是因為C語言的很多特性是由一種更早的被稱為B語言的編程語言中發展而來。早期操作系統的核心大多由匯編語言組成,隨著C語言的發展,C語言已經可以用來編寫操作系統的核心。1973年,Unix操作系統的核心正式用C語言改寫,這是C語言第一次應用在操作系統的核心編寫上。
K&R C
1978年,丹尼斯·里奇(Dennis Ritchie)和布萊恩·柯林漢(Brian Kernighan)合作出版了《C程序設計語言》的第一版。書中介紹的C語言標准也被C語言程序員稱作「K&R C」,第二版的書中也包含了一些ANSI C的標准。K&R C主要介紹了以下特色:

結構(struct)類型
長整數(long int)類型
無符號整數(unsigned int)類型
把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道用戶要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最低標准要求,許多老舊的編譯仍然運行K&R C的標准。
ANSI C 和 ISO C
1989年,C語言被 ANSI 標准化(ANSI X3.159-1989)。標准化的一個目的是擴展K&R C。這個標准包括了一些新特性。在K&R出版後,一些新特性被非官方地加到C語言中。

void 函數
函數返回 struct 或 union 類型
void * 數據類型
在ANSI標准化自己的過程中,一些新的特性被加了進去。ANSI也規定了一套標准函數庫。ANSI ISO(國際標准化組織)成立 ISO/IEC JTC1/SC22/WG14 工作組,來規定國際標準的C語言。通過對ANSI標準的少量修改,最終通過了 ISO 9899:1990。隨後,ISO標准被 ANSI 採納。

傳統C語言到ANSI/ISO標准C語言的改進包括:

增加了真正的標准庫
新的預處理命令與特性
函數原型允許在函數申明中指定參數類型
一些新的關鍵字,包括 const、volatile 與 signed
寬字元、寬字元串與位元組多字元
對約定規則、聲明和類型檢查的許多小改動與澄清
WG14工作小組之後又於1995年,對1985年頒布的標准做了兩處技術修訂(缺陷修復)和一個補充(擴展)。下面是 1995 年做出的所有修改:

3 個新的標准庫頭文件 iso646.h、wctype.h 和 wchar.h
幾個新的記號與預定義宏,用於對國際化提供更好的支持
printf/sprintf 函數一系列新的格式代碼
大量的函數和一些類型與常量,用於多位元組字元和寬位元組字元

C99在ANSI的標准確立後,C語言的規范在一段時間內沒有大的變動,然而C++在自己的標准化創建過程中繼續發展壯大。《標准修正案一》在1995年為C語言創建了一個新標准,但是只修正了一些C89標准中的細節和增加更多更廣的國際字元集支持。不過,這個標准引出了1999年ISO 9899:1999的發表。它通常被稱為C99。C99被ANSI於2000年3月採用。

在C99中包括的特性有:

增加了對編譯器的限制,比如源程序每行要求至少支持到 4095 位元組,變數名函數名的要求支持到 63 位元組(extern 要求支持到 31)。
增強了預處理功能。例如:
宏支持取可變參數 #define Macro(...) __VA_ARGS__
使用宏的時候,允許省略參數,被省略的參數會被擴展成空串。
支持 // 開頭的單行注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
增加了新關鍵字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等類型
支持不定長的數組,即數組長度可以在運行時決定,比如利用變數作為數組長度。聲明時使用 int a[var] 的形式。不過考慮到效率和實現,不定長數組不能用在全局,或 struct 與 union 里。
變數聲明不必放在語句塊的開頭,for 語句提倡寫成 for(int i=0;i<100;++i) 的形式,即i 只在 for 語句塊內部有效。
允許採用(type_name){xx,xx,xx} 類似於 C++ 的構造函數的形式構造匿名的結構體。
初始化結構的時候允許對特定的元素賦值,形式為:
struct {int a[3],b;} foo[] = { [0].a = {1}, [1].a = 2 };
struct {int a, b, c, d;} foo = { .a = 1, .c = 3, 4, .b = 5} // 3,4 是對 .c,.d 賦值的
格式化字元串中,利用 \u 支持 unicode 的字元。
支持 16 進制的浮點數的描述。
printf scanf 的格式化串增加了對 long long int 類型的支持。
浮點數的內部數據描述支持了新標准,可以使用 #pragma 編譯器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到當前的函數名。
允許編譯器化簡非常數的表達式。
修改了 / % 處理負數時的定義,這樣可以給出明確的結果,例如在C89中-22 / 7 = -3, -22 % 7 = -1 ,也可以-22 / 7= -4, -22 % 7 = 6。 而C99中明確為 -22 / 7 = -3, -22 % 7 = -1,只有一種結果。
取消了函數返回類型默認為 int 的規定。
允許 struct 定義的最後一個數組不指定其長度,寫做 [] 。
const const int i 將被當作 const int i 處理。
增加和修改了一些標准頭文件,比如定義 bool 的 <stdbool.h> ,定義一些標准長度的 int 的 <inttypes.h> ,定義復數的 <complex.h> ,定義寬字元的 <wctype.h> ,類似於泛型的數學函數 <tgmath.h>, 浮點數相關的 <fenv.h>。 在<stdarg.h> 增加了 va_ 用於復制 ... 的參數。<time.h> 里增加了 struct tmx ,對 struct tm 做了擴展。
輸入輸出對寬字元以及長整數等做了相應的支持。

『柒』 c語言的發展史

C語言誕生於美國的貝爾實驗室,由D.M.Ritchie以B語言為基礎發展而來,在它的主體設計完成後,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發展,c語言也得到了不斷的完善。為了利於C語言的全面推廣,許多專家學者和硬體廠商聯合組成了C語言標准委員會,並在之後的1989年,誕生了第一個完備的C標准,簡稱「C89」,也就是「ANSI c」,截至2020年,最新的C語言標准為2017年發布的 「C17」。
C語言之所以命名為C,是因為C語言源自Ken Thompson發明的B語言,而B語言則源自BCPL語言。
1967年,劍橋大學的Martin Richards對CPL語言進行了簡化,於是產生了BCPL(Basic Combined Programming Language)語言。
20世紀60年代,美國AT&T公司貝爾實驗室(AT&T Bell Laboratory)的研究員Ken Thompson閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子游戲——Space Travel。他背著老闆,找到了台空閑的機器——PDP-7。但這台機器沒有操作系統,而游戲必須使用操作系統的一些功能,於是他著手為PDP-7開發操作系統。後來,這個操作系統被命名為——UNIX。
1970年,美國貝爾實驗室的 Ken Thompson,以BCPL語言為基礎,設計出很簡單且很接近硬體的B語言(取BCPL的首字母)。並且他用B語言寫了第一個UNIX操作系統。
1971年,同樣酷愛Space Travel的Dennis M.Ritchie為了能早點兒玩上游戲,加入了Thompson的開發項目,合作開發UNIX。他的主要工作是改造B語言,使其更成熟。
1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX。此時,編程的樂趣使他們已經完全忘記了那個"Space Travel",一門心思地投入到了UNIX和C語言的開發中。隨著UNIX的發展,C語言自身也在不斷地完善。直到2020年,各種版本的UNIX內核和周邊工具仍然使用C語言作為最主要的開發語言,其中還有不少繼承Thompson和Ritchie之手的代碼。
在開發中,他們還考慮把UNIX移植到其他類型的計算機上使用。C語言強大的移植性(Portability)在此顯現。機器語言和匯編語言都不具有移植性,為x86開發的程序,不可能在Alpha、SPARC和ARM等機器上運行。而C語言程序則可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。
1977年,Dennis M.Ritchie發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
C語言繼續發展,在1982年,很多有識之士和美國國家標准協會為了使這個語言健康地發展下去,決定成立C標准委員會,建立C語言的標准。委員會由硬體廠商、編譯器及其他軟體工具生產商、軟體設計師、顧問、學術界人士、C語言作者和應用程序員組成。1989年,ANSI發布了第一個完整的C語言標准——ANSI X3.159—1989,簡稱「C89」,不過人們也習慣稱其為「ANSI C」。C89在1990年被國際標准組織ISO(International Standard Organization)一字不改地採納,ISO官方給予的名稱為:ISO/IEC 9899,所以ISO/IEC9899: 1990也通常被簡稱為「C90」。1999年,在做了一些必要的修正和完善後,ISO發布了新的C語言標准,命名為ISO/IEC 9899:1999,簡稱「C99」。
在2011年12月8日,ISO又正式發布了新的標准,稱為ISO/IEC9899: 2011,簡稱為「C11」。

『捌』 C語言的起源和發展

C++源於C語言,而C語言是在B語言的基礎上發展起來的。
n 1960年出現了一種面向問題的高級語言ALGOL 60 。
n 1963年英國劍橋大學推出了CPL(Combined Programming Language)語言,後來經簡化為BCPL語言。
n
1970年美國貝爾(Bell)實驗室的K.Thompson以BCPL語言為基礎,設計了一種類似於BCPL的語言,取其第一字母B,稱為B語言。
n 1972年美國貝爾實驗室的Dennis
M.Ritchie為克服B語言的諸多不足,在B語言的基礎上重新設計了一種語言,取其第二字母C,故稱為C語言。
n 1980年貝爾實驗室的Bjarne
Stroustrup對C語言進行了擴充,推出了「帶類的C」,多次修改後起名為C++。以後又經過不斷的改進,發展成為今天的C++。
C++改進了C的不足之處,支持面向對象的程序設計,在改進的同時保持了C的簡潔性和高效性。

『玖』 C語言是由什麼發展而來的,它的發展歷程是怎樣的

c語言
C語言的原型ALGOL 60語言。(也稱為A語言)
1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。 1967年,劍橋大學的Martin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。
1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。
而在1972年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。
為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。
1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchie合著 c語言程序設計了著名的《The C Programming Language》一書。通常簡稱為《K&R》,也有人稱之為《K&R》標准。但是,在《K&R》中並沒有定義一個完整的標准C語言,後來由美國國家標准化協會(American National Standards Institute)在此基礎上制定了一個C語言標准,於一九八三年發表。通常稱之為ANSI C。
K&R第一版在很多語言細節上也不夠精確,對於pcc這個「參照編譯器」來說,它日益顯得不切實際;K&R甚至沒有很好表達它索要描述的語言,把後續擴展仍到了一邊。最後,C在早期項目中的使用受商業和政府合同支配,它意味著一個認可的正式標準是重要的。因此(在M. D. McIlroy的催促下),ANSI於1983年夏天,在CBEMA的領導下建立了X3J11委員會,目的是產生一個C標准。X3J11在1989年末提出了一個他們的報告[ANSI 89],後來這個標准被ISO接受為ISO/IEC 9899-1990。 1990年,國際標准化組織ISO(International Organization for Standards)接受了89 ANSI C 為I SO C 的標准(ISO9899-1990)。1994年,ISO修訂了C語言的標准。
目前流行的C語言編譯系統大多是以ANSI C為基礎進行開發的,但不同版本的C編譯系統所實現的語言功能和語法規則有略有差別