C語言的關鍵字

2021-08-05 19:27:06 字數 3806 閱讀 2795

c語言一共有

32個關鍵字,如下表所示:

1資料型別關鍵字

a)基本資料型別(5個)

void:宣告函式無返回值或無引數,宣告無型別指標,顯式丟棄運算結果

char:字元型型別資料,屬於整型資料的一種

int:整型資料,通常為編譯器指定的機器字長

float:單精度浮點型資料,屬於浮點資料的一種

double:雙精度浮點型資料,屬於浮點資料的一種

b)型別修飾關鍵字(4個)

short:修飾

int,短整型資料,可省略被修飾的

int。

long:修飾

int,長整形資料,可省略被修飾的

int。

signed:修飾整型資料,有符號資料型別

unsigned:修飾整型資料,無符號資料型別

c)複雜型別關鍵字(5個)

struct:結構體宣告

union:共用體宣告

enum:列舉宣告

typedef:宣告型別別名

sizeof:得到特定型別或特定型別變數的大小

d)儲存級別關鍵字(6個)

auto:指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配

static:指定為靜態變數,分配在靜態變數區,修飾函式時,指定函式作用域為檔案內部

register:指定為暫存器變數,建議編譯器將變數儲存到暫存器中使用,也可以修飾函式形參,建議編譯器通過暫存器而不是堆疊傳遞引數

extern:指定對應變數為外部變數,即在另外的目標檔案中定義,可以認為是約定由另外檔案宣告的物件的乙個「引用

「 const:與

volatile

合稱「cv特性」

,指定變數不可被當前執行緒

/程序改變(但有可能被系統或其他執行緒

/程序改變)

volatile:與

const

合稱「cv特性」

,指定變數的值有可能會被系統或其他程序

/執行緒改變,強制編譯器每次從記憶體中取得該變數的值

2流程控制關鍵字

a)跳轉結構(4個)

return:用在函式體中,返回特定值(或者是

void

值,即不返回值)

break:跳出當前迴圈或

switch結構

goto:無條件跳轉語句

b)分支結構(5個)

if:條件語句

else:條件語句否定分支(與

if連用)

switch:開關語句(多重分支語句)

case:開關語句中的分支標記

default:開關語句中的「其他

」分治,可選。

c)迴圈結構(3個)

for:

for迴圈結構,

for(1;2;3)4;

的執行順序為

1->2->4->3->2...

迴圈,其中

2為迴圈條件

do:do迴圈結構,

do 1 while(2);

的執行順序是

1->2->1...

迴圈,2

為迴圈條件

while:

while

迴圈結構,

while(1) 2;

的執行順序是

1->2->1...

迴圈,1

為迴圈條件

以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。

下面來詳細介紹各個關鍵字:

(簡單的就一筆帶過,有必要的會另起一篇文章,詳細講述。)

基本資料型別(5個)

void

char

intfloat

double

型別修飾關鍵字(4個)

short

long

signed

unsigned

1)在

windows,32

位系統中

char 1個位元組

short 2個位元組

int 4個位元組

long 4個位元組

double 8個位元組

float 4個位元組

2)資料型別和佔位符之間的對應關係

char和

unsingned char %c

short %hd

unsigned short %hu

long %ld

unsigned long %lu

int %d

unsigned int %u

float %f/%g

double %lf/%lg

%f和%lf

會保留小數點後面多餘的

0 如

3.1400000 .2%f

得 3.14

%g和%lg不會保留 如

3.14

規定整型值相互之間大小的規則:

長整型至少應該和整型一樣長,而整型至少應該和短整型一樣長。

3)

signed

、unsigned

關鍵字

signed char取值範圍是

-2^7

到 2^7-1

unsigned char取值範圍是

0 到

2^8

signed int取值範圍是

-2^31

到 2^31-1

unsigned int取值範圍是

0 到

2^32

留兩個問題思考:

1),

int i = -20;

unsigned j = 10;

i+j 的值為多少?為什麼?

-10 應該是按照有符號的來計算的

2), 下面的**有什麼問題?

unsigned i ;

for (i=9;i>=0;i--)

printf("%u ",i);

一直列印無法停止,到了0 後,變成

-1。因為

-1是有符號的了,再變成

4294967295

一直又減下去了

4)

void

關鍵字:

複雜型別關鍵字(5個)

struct

union

enum

typedef

sizeof

儲存級別關鍵字(6個)

auto

static

register

extern

const

volatile

2、流程控制關鍵字

a)跳轉結構(

4個)

return

continue

break

goto

b)分支結構(

5個)

if else

switch

case

default

c)迴圈結構(

3個)

for

dowhile

C語言關鍵字

c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...

C語言關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

c語言關鍵字

c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...