1. 程式人生 > >C語言關鍵字詳解

C語言關鍵字詳解

 c的關鍵字共32個

*資料型別關鍵字(12)

  char,short,int,long,float,double,unsigned,signed,union,enum,void,struct

*控制語句關鍵字(12)

  if,else,switch,case,default,for,do,while,break,continue,goto,return

*儲存類關鍵字(5)

   auto,extern,register,static,const

*其他關鍵字(3)

    sizeof,typedef,volatile


1、char:表示字元型資料,佔1個位元組(8個二進位制位),包含256個不同的整數。

          有符號的範圍: -128 ~ 127。每個整數都對應一個字元。整數和字元的對應關係由ASCII碼錶規定。

          無符號的範圍:0 ~ 255。

2、short:表示短整型資料,一般佔2個位元組(16個二進位制位)。

          有符號的範圍:-32768 ~ 32767。

          無符號的範圍0到65535。

3、int:表示基本整型資料,一般佔4個位元組(32個二進位制位)。

          有符號的範圍:-2147483648 ~ 2147483647。

          無符號的範圍:0 ~ 4294967295。

4、long:表示長整型資料,一般佔4個位元組(32個二進位制位)。

          有符號的範圍:-2147483648 ~ 2147483647。

          無符號的範圍:0 ~ 4294967295。

5、float:表示單精度浮點型資料,一般佔4個位元組(32個二進位制位,1bit(符號位) 8bits(指數位) 23bits(尾數位))。

          範圍:-3.40E+38 ~ +3.40E+38 

          精度:6 ~ 7位有效數字

6、double:表示雙精度浮點型資料,一般佔8個位元組(64個二進位制位,1bit(符號位) 11bits(指數位) 52bits(尾數位))。

          範圍:-1.79E+308 ~ +1.79E+308

          精度:15 ~ 16位有效數字

7、unsigned:表示無符號資料。 

8、signed:表示有符號資料,預設不用寫。

9、union:表示共用體(也叫聯合)型別資料,共用體表示幾個變數共用一個記憶體位置,在不同的時間儲存不同的資料型別和不同長度的變數。所有的共用體成員共用一個空間,

     並且同一時間只能儲存其中一個成員變數的值(以包含資料型別中佔最大位元組為該共用體所佔的位元組),已達到節省空間的目的(還有一個節省空間的型別:位域)。

10、enum:表示列舉型別資料,提供了一組常量的集合,列舉元素本身由系統定義了一個表示序號的數值,如果沒有初始化則從0開始順序定義為0,1,2 …。

11、struct:表示結構體型別資料,是一種構造型別,它是由若干“成員”組成的。 每一個成員可以是一個基本資料型別或者又是一個構造型別。

12、void:表示無型別資料。

13、if和else 語句可以實現分支處理,else: 關鍵字表示條件表示式之間的對立關係,也就是說只能有一個條件表示式成立。
      如果多個邏輯表示式是互補的,也就是說一定會有一個成立則最後一個邏輯表示式可以省略。

15、switch 和case 寫法也可以實現分支處理。當程式中要對某一個數字的多種可能的取值進行分支處理的時候就可以採用這種寫法

16、default: 除去 各種 case : 情況外,其它情況均用 default 冒號後面的語句處理,即 預設  case 預設 case  的處理。

17、for:成for迴圈語句

      假設有如下for語句

       for(1;2;3){
            4
        }

       for 迴圈語句的執行循序如下:
        [ 1 , 2 ]   [ 4 , 3 , 2 ]  [ 4 , 3 , 2 ] ......

18、while 語句也可以實現迴圈的效果,for語句和while語句是可以相互轉換的。while語句只需要指定迴圈繼續執行的條件就可以了。

19、do 和 while 語法也可以實現迴圈的效果,它和while語法的區別是先做事然後再進行邏輯判斷,大括號中的執行語句至少執行一次。

20、break :語句在迴圈中可以立刻終止整個迴圈的執行。

21、continue :語句在迴圈中可以終止當次迴圈的執行而立刻進入下次迴圈。

22、goto:語句也稱為無條件轉移語句,其一般格式如下: goto 語句標號; 其中語句標號是按識別符號規定書寫的符號, 放在某一語句行的前面,標號後加冒號(:)。

      C語言不限制程式中使用標號的次數,但各標號不得重名。goto語句的語義是改變程式流向, 轉去執行語句標號所標識的語句。

      goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成迴圈,跳出迴圈體等功能。

23、return: 表示從被調函式返回到主調函式繼續執行,返回時可附帶一個返回值,由return後面的引數指定。 return通常是必要的,因為函式呼叫的時候計算結果通常是通過

      返回值帶出的。 如果函式執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函式執行的順利與否(-1和0就是最常用的狀態碼),主調函式可以通過返回值判斷

      被調函式的執行情況。

24、auto: 關鍵字可以用來宣告變數,非靜態的區域性變數都是auto變數。

25、extern: 關鍵字表示變數在其他檔案中宣告的,這個檔案只是要使用這個變數。

26、register 關鍵字也可以用來宣告變數。這種變數叫做暫存器變數,這種變數會被儲存在暫存器裡,它的使用速度最快,但是會導致

       其他變數的使用速度變慢,一般不應該使用這個關鍵字。編譯器決定暫存器變數是否被放置在暫存器裡。

27、static 關鍵字可以用來宣告一個區域性變數,這種區域性變數叫做靜態區域性變數,它的生命週期是整個程式執行時間段。這個關鍵字

      也可以用來宣告全域性變數,這種靜態全域性變數的作用域是宣告它的那個檔案內部。

28、const 關鍵字也可以用來宣告變數,這種變數是不可以被賦值的,它只能通過初始化得到資料。

29、sizeof 關鍵字可以用來計算某個資料型別或某個變數所佔位元組個數。sizeof 關鍵字不會執行小括號中的計算過程。

30、typedef:為現有型別建立一個新的名字,或稱為類型別名。

31、volatile: 關鍵字可以用來宣告變數,這種變數叫做易變變數。程式中每次使用這種變數的時候都必須從記憶體中獲得他們的資料。