C語言ANSI標準定義的32個關鍵字:
autodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifstaticwhile32個關鍵字分為兩個大的類別:資料類型和控制結構
類別關鍵字簡單說明基本類型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_Imaginary2011年12月8日, ISO發佈C語言的新標準C11, 該標準新增了7個C語言關鍵字:
C++63個關鍵字asmelsenewthisautoenumoperatorthrowboolexplicitprivateTRUEbreakexportprotectedtrycaseexternpublictypedefcatchFALSEregistertypeidcharfloatreinterpret_casttypenameclassforreturnunionconstfriendshortunsignedconst_castgotosignedusingcontinueifsizeofvirtualdefaultinlinestaticvoiddeleteintstatic_castvolatiledolongstructwchar_tdoublemutableswitchwhiledynamic_castnamespacetemplate
C++11新增10個關鍵
alignasalignofchar16_tchar32_tconstexprdecltypenoexceptnullptrstatic_assertthread_localC++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存取控制符,函式呼叫約定, 是指當一個函數被調用時, 函數的參數會被傳遞給被調用的函數和返回值會被返回給調用函數。 函數的調用約定就是描述參數是怎麼傳遞和由誰平衡堆疊的,
預處理指令
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-