C語言標準

2021-10-03 07:00:17 字數 1364 閱讀 7136

2023年,貝爾實驗室的丹尼斯.里奇(dennis ritch)和肯.湯普遜(ken thompson)在開發unix作業系統時設計了c語言。然而c語言並不完全是里奇突發奇想而來,他是在b語言(湯普遜發明)的基礎上進行設計。c語言設計的初衷是將其作為程式設計師使用的一種程式設計工具,因此,其主要目標是成為有用的語言。

目前,有許多c實現可用。在理想情況下,編寫c程式時,假設該程式中未使用機器特定的程式設計技術,那麼它的運**況在任何實現中都應該相同。要在實踐中做到這一點,不同的實現要遵循乙個標準。

c語言發展之初,並沒有所謂的c標準。2023年,布萊恩.柯林漢(brian kernighan)和丹尼斯.里奇(dennis ritch)和著的the programming language(c語言程式設計)第一版是公認的c標準,通常稱之為k&r c或經典c。特別是,該書中的附錄中的"c語言參考手冊"已成為c的指導標準。雖然這本書的附錄定義了c語言,但是並沒有定義c庫。與大多數語言不同的是,c語言比其他語言更依賴庫,因此需要乙個標準庫。實際上,由於缺乏官方標準,unix實現提供的庫已經成為了標準庫。

隨著c的不斷發展,越來越廣泛地運用於更多的系統中,c社群意識到需要乙個更全面,更新穎,更嚴格的標準。鑑於此,美國國家標準協會(ansi)於2023年組建了乙個委員會(x3j11),開發了一套新標準,並於2023年正式公布。該標準(ansi c)定義了c語言和c標準庫。國際標準化組織於2023年採用了這套c標準(iso c)。iso c和ansi c是完全相同過的標準。ansi/iso標準的最終版本通常叫做c89(ansi 於2023年批准該標準)或c90(iso於2023年批准該標準)。另外,由於ansi先公布c標準,因此業界人士通常使用ansi c。

2023年,ansi/iso聯合委員會(c9x委員會)開始修訂c標準,最終發布了c99標準。該委員會遵循了最初c90的原則,包括保持語言的精煉簡單。委員會的用意不是在c語言中新增新特性,而是為了達到新的目標。第乙個目標是,支援國際化程式設計。例如提供多種方法處理國際字符集。第二個目標是,「調整現有實現致力於解決明顯的缺陷」。因此,在遇到需要將c移至64位處理器時,委員會根據現實生活中處理問題的經驗來新增標準。第三個目標是,為適應科學和工程專案中的關鍵數值計算,提高c的適應性,讓c比fortran更有競爭力。

c99的修訂保留了c語言的精髓,c任是一門簡潔高效的語言。雖然該標準已經發布了很長時間,但並非所有的編譯器都完全實現c99的所有改動。

標準委員會在2023年承諾c標準的下乙個版本是c1x,2023年終於發布了c11標準。此次,委員會提出了一些新的指導原則。由於**商並未像c90那樣很好地接和支援c99,這使得c99中的一些特性成為c11的可選項。因為委員會認為,不應要求服務小型機市場的**商支援其目標環境中用不到的特性。另外需要強調的是,修訂標準的原因不是因為原本的標準不能用,而是需要跟進新的技術。例如,新標準新增了可選項支援當前使用多處理器的計算機。

C語言標準

寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c ansi c和iso c c 的第乙個標準是由ansi發布的。雖然這份文件後來被國際標準化組織 iso 採納並且iso發布的修訂版也被ansi採納了,但名稱ansi c 而不是 is...

C語言標準

c語言標準 寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c 1978年,丹尼斯 里奇 dennis ritchie 和布萊恩 柯林漢 brian kernighan 合作出版了 c程式語言 的第一版。書中介紹的c語言標準也被c語言...

標準C語言

1 檔案相關 建立檔案 touch 檔名 原本是用來修改檔案屬性的,但如果檔案不存在 會自動把檔案建立出來。刪除檔案 rm 檔名 此命令刪除時不經過 站,檔案恢復困難。複製檔案 cp 原始檔 目標位置 在複製過程中可以修改檔名。移植檔案 mv 原始檔 目標位置 用法與cp基本一致,區別是cp原始檔還...