<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • c語言字符類型包括哪些(3分鐘了解c語言基本數據類型)


    C語言支持的基本數據類型

    通過前面的舉例分析,我們知道房子的類型,決定了房子的屬性。例如,一房一廳的房子,有一個房間的空間;兩房一廳的房子,有兩個房間的空間。同理,在C語言中,提供了“數據類型”,它可以定義變量。不同數據類型定義的變量,有不同的存儲空間和使用方式。

    C語言支持的基本數據類型有:

    (1) char類型,char類型稱為“字符”類型。一個字符是 ‘A’, ‘B’, ‘C’, ‘#’, ‘!’ 這樣的數據。char類型的變量稱為字符型變量,可以存放一個字符。char類型變量占據1個字節的存儲空間。

    (2) short 類型,short類型稱為“短整型”。它用于存儲一個整數值,例如100,188這樣的整數值,short類型變量占據2個字節的存儲空間。

    (3) int類型,int類型稱為“整型”。它用于存儲一個整數值,int類型變量占據4個字節的存儲空間。

    (4) long類型,long類型稱為“長整型”。它用于存儲一個整數值,long類型變量占據4個字節的存儲空間。而且 long 類型可以組合成 long long 類型,它占據8個字節的存儲空間。

    (5) float類型,float類型稱為“單精度浮點型”。它存放一個浮點數,例如12.345, 16.888這樣帶小數點的小數。float類型變量占據4個字節的存儲空間。

    (6) double類型,double類型稱為“雙精度浮點數”。它存儲一個浮點數,double類型變量占據8個字節的存儲空間。

    對于char、short、int和long類型,默認是“有符號數”類型,所以,能夠表示負數。那么,它們可以結合unsigned關鍵字使用,表示無符號類型數據。

    注意:float、double表示的浮點數類型,不可以與unsigned關鍵字組合使用。

    我們可以歸納總結“有符號數類型”和“無符號數類型”的存儲容量和表示數值范圍如下表。

    數據類型容量(位數)取值范圍
    char8(1個字節)-128 ~ 127(-2^7 ~ 2^7-1)
    unsigned char8(1個字節)0 ~ 255(0 ~ 2^8 – 1)
    short16(2個字節)-32767 ~ 32768(-2^15 ~ 2^15-1)
    unsigned short16(2個字節)0 ~ 65536(0 ~ 2^18-1)
    int32(4個字節)-2147483648 ~ +2147483647(-2^31 ~ 2^31-1)
    unsigned int32(4個字節)0 ~ 4294967295(0 ~ 2^32-1)
    long32-2147483648 ~ +2147483647(-2^31 ~ 2^31-1)
    unsigned long320 ~ 4294967295(0 ~ 2^32-1)
    long long64-9223372036854775808 ~9223372036854775807(-2^63 ~ 2^63-1)
    unsigned long long640 ~ 18446744073709551615(0 ~ 2^64-1)

    char類型的最大值是2^7-1,unsigned char類型的最大值是2^8-1,可以看到,由于char類型變量的最高位作為符號位,只有7位作為數值位,而unsigned char類型的變量,全部8位都作為數值位。所以,能夠表示最大值的范圍不一樣。假設變量的數值位有N位,那么,能夠表示的最大值是2的N次方減一,即 2^N – 1。例如數值位為1111 1111,此時,數值位有8位,那么,它的值是1*2^0 + 1*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6 + 1*2^7;如果這樣計算,比較繁瑣,那么,我們可以思考:

    1111 1111 + 1 = 1 0000 0000

    所以,有:

    1111 1111 = 1 0000 0000 – 1

    = 1*2^8 – 1

    通過這樣的方式計算,就可以快速得到N位全1的二進制,它的值是2^N – 1。

    5.1 字符類型

    在C語言中,定義了’A’、’B’、’C’、’#’、’?’這樣的符號為字符。一個字符可以存放到一個字符變量中。字符的特點是:

    (1) 必須使用單引號 ‘ ‘ 把字符包含起來;

    (2) 字符可以是ASCII表中字符集的字符;

    C語言提供了關鍵字char表示“字符類型”;可以定義字符類型的變量;例如:

    C語言支持哪些基本數據類型?

    程序運行的輸出結果如下:

    C語言支持哪些基本數據類型?

    可以看到,用char關鍵字定義了字符類型的變量,分別定義了變量a和變量b,都是字符類型,并且給a變量存放了’X’字符,給b變量存放了’Y’字符。

    最后,在printf()函數中,通過 %c 格式,輸出字符類型變量中存放的字符。

    注意:給字符變量賦值的字符,必須使用單引號’ ‘把字符給包含起來。

    一個字符在內存中存儲的是其ASCII值,那么,我們可以把一個字符的ASCII值賦給一個字符變量,然后,再把它輸出。測試的例子如下。

    C語言支持哪些基本數據類型?

    程序運行結果如下:

    C語言支持哪些基本數據類型?

    可以看到,我們把 ‘0’ 字符的ASCII值賦給字符變量a,如同把字符 ‘0’ 賦給字符變量a一樣。因為,字符 ‘0’ 的ASCII值是48,在內存中就是存儲為48這個數值,所以,如同直接把ASCII值賦給字符變量。

    通過這個例子,我們也區分了字符 ‘1’與數值1是有區別的。數值1的值就是1,但是,字符’1’的值是它的ASCII值,是49這個數值。

    5.2 整數類型

    在自然數中,100、1、99這樣的數值稱為“整數”。那么,在C語言中,提供了相關的類型來存放整數值。

    C語言提供了關鍵字short、int、long表示整數類型,可以定義整數變量。例如588數值,是一個整數值,那么,可以存放在整數類型變量中。測試例子如下:

    C語言支持哪些基本數據類型?

    程序運行的輸出結果如下:

    C語言支持哪些基本數據類型?

    可以看到,在C語言中,提供了關鍵字short、int、long可以定義整數類型,而且是有符號數類型,所以,在變量y中,可以賦值負數。

    注意char數據類型雖然是字符類型,但是,它有1個字節的存儲空間,1個字節的空間可以存儲8位二進制數據,可以表示為一個整數值。

    在C語言中,關鍵字char、short、int、long數據默認都是有符號類型,所以存儲的數據可以表示負數。例如char類型的變量,容量是一個字節,最高位是符號位,剩余的7位是數據位。能夠表示最大的數值是0111 1111,十進制就是127。最小的數值是1000 0001,十進制就是-127。

    5.3 浮點數類型

    在自然數中,1.23、6.99這樣帶小數的數據,稱為:浮點數。在C語言中,提供了關鍵字float、double表示浮點數類型,可以定義浮點數變量。

    如下是一個測試的例子:

    C語言支持哪些基本數據類型?

    程序運行的結果如下:

    C語言支持哪些基本數據類型?

    可以看到,我們定義了浮點數類型變量a1、a2,可以給它們賦值小數值。然后,通過 %f 格式輸出變量中的浮點數。注意:由于printf函數輸出浮點數帶精度部分,小數部分輸出6位,不足的補零。所以,1.23這樣的數據輸出1.230000,小數點有6位數。

    注意:浮點數類型不能與unsigned關鍵字組合成“無符號浮點數”。如下是測試的例子:

    C語言支持哪些基本數據類型?

    編譯測試程序的結果如下:

    C語言支持哪些基本數據類型?

    可以看到,不能夠使用unsigned關鍵字來修飾float、double這樣的浮點數類型

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费