您的位置:首頁>正文

C|32個關鍵字、9種控制語句、33個符號的分類、說明及與C++比較

C語言ANSI標準定義的32個關鍵字:

autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifstaticwhile

32個關鍵字分為兩個大的類別:資料類型和控制結構

類別關鍵字簡單說明基本類型char聲明字元型變數或函數返回數值型別5double聲明雙精度浮點型變數或函數返回數值型別
float聲明浮點型變數或函數返回數值型別
int聲明整型變數或函數
void聲明函數無返回值或無參數, 聲明無類型指標複雜類型enum聲明枚舉類型5sizeof計算資料類型或變數長度(即所占位元組數)
struct聲明結構體類型
typedef用以給資料類型取別名
union聲明共用體類型類型修飾long聲明長整型變數或函數返回數值型別4short聲明短整型變數或函數
signed聲明有符號類型變數或函數
unsigned聲明無符號類型變數或函數存儲級別auto聲明自動變數6const聲明唯讀變數
extern聲明變數或函數是在其它檔或本文件的其他位置定義
register聲明寄存器變數
static聲明靜態變數
volatile說明變數在程式執行中可被隱含地改變分支結構case開關語句分支5default開關語句中的“其它”分支
else條件陳述式否定分支(與 if 連用)
if條件陳述式
switch用於開關語句迴圈結構do迴圈語句的循環體3for一種迴圈語句
while迴圈語句的迴圈條件跳轉結構break跳出當前迴圈4continue結束當前迴圈,
開始下一輪迴圈
goto無條件跳躍陳述式
return副程式返回語句(可以帶參數, 也可不帶參數)

1999年12月16日, ISO推出了C99標準, 該標準新增了5個C語言關鍵字:

inlinerestrict_Bool_Complex_Imaginary

2011年12月8日, ISO發佈C語言的新標準C11, 該標準新增了7個C語言關鍵字:

_Alignas_Alignof_Atomic_Static_assert_Noreturn_Thread_local_Generic
C++63個關鍵字asmelsenewthisautoenumoperatorthrowboolexplicitprivateTRUEbreakexportprotectedtrycaseexternpublictypedefcatchFALSEregistertypeidcharfloatreinterpret_casttypenameclassforreturnunionconstfriendshortunsignedconst_castgotosignedusingcontinueifsizeofvirtualdefaultinlinestaticvoiddeleteintstatic_castvolatiledolongstructwchar_tdoublemutableswitchwhiledynamic_castnamespacetemplate

C++11新增10個關鍵

alignasalignofchar16_tchar32_tconstexprdecltypenoexceptnullptrstatic_assertthread_local

C++98/03標準中, auto表示自動儲存類型;C++11標準中, auto表示由編譯器靜態判斷其應有的類型。

C++在C語言基礎上新增31個關鍵字關鍵字簡單說明asm允許在C++程式中嵌入彙編代碼bool布林類型catch用於異常處理class聲明一個類const_cast常量物件被轉換成非常量物件delete釋放程式動態申請的記憶體空間dynamic_cast允許在運行時刻進行類型轉換explicit禁止單參數構造函數被用於自動型別轉換export可被外部訪問的範本類物件和範本函數falsebool類型的值之一, 等同於int的0值friend聲明物件成員的友元關係mutable聲明函數不改變物件的狀態(非靜態和非常量成員)namespace命名空間, 比類大的結構new新建一個物件operator用於操作符重載, C++中的一種特殊的函數private存取控制符,
只能在本類以及友元中訪問protected存取控制符, 只能在本類以及其繼承類和友元中訪問public存取控制符, 可以在任何類中進行訪問reinterpret_cast指標與整數的相互轉換static_cast類型轉換template範本, C++中泛型機制的實現this返回調用者本身的指標throw“拋出”一個異常truebool類型的值之一, 等同於int的非0值try調用可能拋出異常的函數typeid指出指標或引用指向的物件的實際派生類型typename告訴編譯器把一個特殊的名字解釋成一個類型using表明使用namespacevirtual虛的, C++中用來實現多態機制wchar_t寬字元類型, 占2個位元組, 16位元寬, 可用於表示漢字函式呼叫約定

函式呼叫約定, 是指當一個函數被調用時, 函數的參數會被傳遞給被調用的函數和返回值會被返回給調用函數。 函數的調用約定就是描述參數是怎麼傳遞和由誰平衡堆疊的,

當然還有返回值。

_stdcall_fastcall_cdecl_nakedcall_pascal_thiscall(C++)
預處理指令

C語言的預處理主要有三個方面的內容: 1.巨集定義; 2.檔包含; 3.條件編譯。 預處理命令以符號“#”開頭。

#define定義宏#elif如果前面的#if給定條件不為真, 當前條件為真, 則編譯下面代碼#endif結束一個#if……#else條件編譯塊#error停止編譯並顯示錯誤資訊#if如果給定條件為真, 則編譯下面代碼#ifndef如果宏沒有定義, 則編譯下面代碼#include檔包含#indef如果宏已經定義, 則編譯下面代碼#line可以改變編譯器用來指出警告和錯誤資訊的檔號和行號#pragma佈局控制,典型的用法是禁止或允許某些煩人的警告資訊#undef取消已定義的宏9種控制語句if()…else…條件陳述式for()…迴圈語句while()…迴圈語句do~while()迴圈語句continue結束本次迴圈語句break中止執行switch或迴圈語句switch…多分支選擇語句goto轉向語句return從函數返回語句C語言33個符號類別符號名稱C++運算子::作用域運算子成員訪問.結構成員單目轉型-取負
&取位址
(類型)類型轉換
*取內容逗號運算子,逗號運算複合賦值+=加法賦值賦值運算=賦值運算關係運算子!=不等於
<小於
<=小於等於
==等於
>大於
>=大於等於函數參數()圓括號邏輯運算子!邏輯非
&&與
||或首碼或尾碼--自減
++自增陣列下標運算[]下標算術運算子-減
%求餘
*乘
/除
+加條件運算子?:條件運算位運算子&位與
^位異或
|位或
~位元非一元運算sizeof求位元組移位元運算子<<左移
>>右移指針成員訪問->指標型結構成員

在C語言中,

多個運算式可以用逗號分開, 其中用逗號分開的運算式的值分別結算, 但整個運算式的值是最後一個運算式的值。

-End-


-End-

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示