有途網(wǎng)

c語言關(guān)鍵字有哪些

徐克達2022-02-10 13:45:11

C語言是一門面向過程的計算機編程語言,與C++、Java等面向?qū)ο缶幊陶Z言有所不同。C語言的設(shè)計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。那么C語言的關(guān)鍵有哪些呢?讓我們一起來看看吧!

c語言關(guān)鍵字有哪些

C語言關(guān)鍵字有哪些

數(shù)據(jù)類型關(guān)鍵字

short:修飾int,短整型數(shù)據(jù),可省略被修飾的int。(K&R時期引入)

long:修飾int,長整型數(shù)據(jù),可省略被修飾的int。(K&R時期引入)

long long:修飾int,超長整型數(shù)據(jù),可省略被修飾的int。(C99標準新增)

signed:修飾整型數(shù)據(jù),有符號數(shù)據(jù)類型。(C89標準新增)

unsigned:修飾整型數(shù)據(jù),無符號數(shù)據(jù)類型。(K&R時期引入)

restrict:用于限定和約束指針,并表明指針是訪問一個數(shù)據(jù)對象的唯一且初始的方式。(C99標準新增)

復(fù)雜類型關(guān)鍵字

struct:結(jié)構(gòu)體聲明。(K&R時期引入)

union:聯(lián)合體聲明。(K&R時期引入)

enum:枚舉聲明。(C89標準新增)

typedef:聲明類型別名。(K&R時期引入)

sizeof:得到特定類型或特定類型變量的大小。(K&R時期引入)

inline:內(nèi)聯(lián)函數(shù)用于取代宏定義,會在任何調(diào)用它的地方展開。(C99標準新增)

存儲級別關(guān)鍵字

auto:指定為自動變量,由編譯器自動分配及釋放。通常在棧上分配。與static相反。當變量未指定時默認為auto。(K&R時期引入)

static:指定為靜態(tài)變量,分配在靜態(tài)變量區(qū),修飾函數(shù)時,指定函數(shù)作用域為文件內(nèi)部。(K&R時期引入)

register:指定為寄存器變量,建議編譯器將變量存儲到寄存器中使用,也可以修飾函數(shù)形參,建議編譯器通過寄存器而不是堆棧傳遞參數(shù)。(K&R時期引入)

extern:指定對應(yīng)變量為外部變量,即標示變量或者函數(shù)的定義在別的文件中,提示編譯器遇到此變量和函數(shù)時在其他模塊中尋找其定義。(K&R時期引入)

const:指定變量不可被當前線程改變(但有可能被系統(tǒng)或其他線程改變)。(C89標準新增)

volatile:指定變量的值有可能會被系統(tǒng)或其他線程改變,強制編譯器每次從內(nèi)存中取得該變量的值,阻止編譯器把該變量優(yōu)化成寄存器變量。(C89標準新增)

流程控制關(guān)鍵字

跳轉(zhuǎn)結(jié)構(gòu)

return:用在函數(shù)體中,返回特定值(如果是void類型,則不返回函數(shù)值)。(K&R時期引入)

continue:結(jié)束當前循環(huán),開始下一輪循環(huán)。(K&R時期引入)

break:跳出當前循環(huán)或switch結(jié)構(gòu)。(K&R時期引入)

goto:無條件跳轉(zhuǎn)語句。(K&R時期引入)

分支結(jié)構(gòu)

if:條件語句,后面不需要放分號。(K&R時期引入)

else:條件語句否定分支(與if連用)。(K&R時期引入)

switch:開關(guān)語句(多重分支語句)。(K&R時期引入)

case:開關(guān)語句中的分支標記,與switch連用。(K&R時期引入)

default:開關(guān)語句中的“其他”分支,可選。(K&R時期引入)

C語言的優(yōu)缺點

優(yōu)點:

其一,廣泛性。C 語言的運算范圍的大小直接決定了其優(yōu)劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結(jié)果的表達形式也十分豐富。此外,C 語言包含了字符型、指針型等多種數(shù)據(jù)結(jié)構(gòu)形式,因此,更為龐大的數(shù)據(jù)結(jié)構(gòu)運算它也可以應(yīng)付。 [3]

其二,簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎(chǔ)特性,使得其在計算機應(yīng)用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。

其三,結(jié)構(gòu)完善。C語言是一種結(jié)構(gòu)化語言,它可以通過組建模塊單位的形式實現(xiàn)模塊化的應(yīng)用程序,在系統(tǒng)描述方面具有顯著優(yōu)勢,同時這一特性也使得它能夠適應(yīng)多種不同的編程要求,且執(zhí)行效率高。

缺點:

1、 C語言的缺點主要表現(xiàn)在數(shù)據(jù)的封裝性上,這一點使得C在數(shù)據(jù)的安全性上有很大缺陷,這也是C和C++的一大區(qū)別。

2、 C語言的語法限制不太嚴格,對變量的類型約束不嚴格,影響程序的安全性,對數(shù)組下標越界不作檢查等。從應(yīng)用的角度,C語言比其他高級語言較難掌握。也就是說,對用C語言的人,要求對程序設(shè)計更熟練一些。

熱門推薦

最新文章