參考:《c primer plus》,stephen prata著,姜佑譯。
ansi/iso c標準
美國ansi成立委員會x3j11,於89/90年,99年,11年,發布c標準:c89/c90,c99,c11。
ansi/iso 各版本c標準
c標準
描述
經典c也稱k&r c,87年k&r著作《c語言程式設計》,成為c指導標準
c89/c90
89年ansi c,90年iso c,定義了c語言和c標準庫。x3j11開發,同一套標準,發布名稱/機構不同。
用意:作為實現,應該針對目標計算機定義適合特定操作,而不是強加乙個抽象、統一的定義。
特點:1.信任程式設計師;
2.不妨礙程式設計師做任何事;
3.語言簡單精煉;
4.只提供一種方法執行一項操作;
5.不為程式可移植性犧牲效率。
c99c9x委員會修訂,遵循c90原則。
新特性:
1.支援國際化程式設計;
2.調整現有實踐致力於解決明顯的缺陷;
3.為適應科學和工程專案中關鍵數值計算,提高c適應性;
c11特點:
1.不強調信任程式設計師;
2.不要求服務小型機市場**商支援目標環境用不到的特性;
c語言標準眾多,要如何判斷編譯器所支援的標準版本?
乙個簡單的方法是,依據不同版本標準所支援的資料型別關鍵字來判別,如下表所示:
c語言資料型別關鍵字
k&r給出的關鍵字(87 經典c)
c90新增關鍵字
c99新增關鍵字
intsigned
_bool
long
void
_complex
short
_imaginary
unsigned
char
float
double
那麼,可以在c程式中,定義相應型別,然後build是否支援來判斷。
下面在ubuntu os下以為例,進行測試。
gcc版本=4.8.4
測試**:
//執行結果表明編譯器支援c99:c99.c
#include #include
int main(void
)
else
return0;
}
利用C 9 0新語法如何提公升if語句美感
前言 c 語言一貫秉承簡潔優美的宗旨,每次公升級都會帶來一些語法糖,讓我們可以使 變得更簡潔。本文分享兩個使用 c 9.0 提公升 if 語句美感的技巧示例。使用屬性模式代替 isnullorempty 在任何你使用 isnullorempty 的時候,可以考慮這樣替換 string?hello h...
c 編譯器編譯過程
編譯過程 編譯過程分為四步 預處理 編譯 彙編 連線 1.預處理 預處理主要處理原始檔中的 include define 等預處理等命令 預處理主要完成的工作有 參考 程式設計師的自我修養 1 刪除 define,展開巨集 2 處理條件編譯指令。預處理程式先判斷條件,再根據條件修改源 3 刪除注釋 ...
C 編譯器大全
dev c 優點 功能簡潔 noip官方編譯器 缺點 功能並不完善 不適合商業開發 面向人群 c 初學者 dev c 現在已經更名為smart c 但noip不使用該編譯器 visual c 或visual mingw 優點 1.與windows緊密結合 2.強大的類庫支援和類改造能力 3.擁有高效...