C語言字元型別

2021-10-18 21:28:29 字數 2106 閱讀 9988

說 明

字元型	短整型	整型	長整型	單精度浮點型	雙精度浮點型

資料型別 char short int long float double

長 度 1 2 4 4 4 8

long型在64位環境中字元長度為8

使用不同的格式控制符可以輸出不同型別的整數,它們分別是:

%hd用來輸出 short int 型別,hd 是 short decimal 的簡寫;

%d用來輸出 int 型別,d 是 decimal 的簡寫;

%ld用來輸出 long int 型別,ld 是 long decimal 的簡寫。

c語言中常用的小數有兩種型別,分別是 float 或 double;float 稱為單精度浮點型,double 稱為雙精度浮點型。

不像整數,小數沒有那麼多么蛾子,小數的長度是固定的,float 始終占用4個位元組,double 始終占用8個位元組。

%f 以十進位制形式輸出 float 型別;

%lf 以十進位制形式輸出 double 型別;

%e 以指數形式輸出 float 型別,輸出結果中的 e 小寫;

%e 以指數形式輸出 float 型別,輸出結果中的 e 大寫;

%le 以指數形式輸出 double 型別,輸出結果中的 e 小寫;

%le 以指數形式輸出 double 型別,輸出結果中的 e 大寫。

c語言中常用的整數有 short、int 和 long 三種型別,通過 printf 函式,可以將它們以八進位制、十進位制和十六進製制的形式輸出。上節我們講解了如何以十進位制的形式輸出,這節我們重點講解如何以八進位制和十六進製制的形式輸出,下表列出了不同型別的整數、以不同進製的形式輸出時對應的格式控制符:

short int long

八進位制 %ho %o %lo

十進位制 %hd %d %ld

十六進製制 %hx 或者 %hx %x 或者 %x %lx 或者 %lx

十六進製制數字的表示用到了英文本母,有大小寫之分,要在格式控制符中體現出來:

%hx、%x 和 %lx 中的x小寫,表明以小寫字母的形式輸出十六進製制數;

%hx、%x 和 %lx 中的x大寫,表明以大寫字母的形式輸出十六進製制數。

【例項】以不同進製的形式輸出整數:

#include int main()

執行結果:

a=126, b=2713, c=7325603

a=86, b=1483, c=1944451

a=56, b=5cb, c=1dab83

a=56, b=5cb, c=1dab83

從這個例子可以發現,乙個數字不管以何種進製來表示,都能夠以任意進製的形式輸出。數字在記憶體中始終以二進位制的形式儲存,其它進製的數字在儲存前都必須轉換為二進位制形式;同理,乙個數字在輸出時要進行逆向的轉換,也就是從二進位制轉換為其他進製。

輸出時加上字首

請讀者注意觀察上面的例子,會發現有一點不完美,如果只看輸出結果:

對於八進位制數字,它沒法和十進位制、十六進製制區分,因為八進位制、十進位制和十六進製制都包含 0~7 這幾個數字。

對於十進位制數字,它沒法和十六進製制區分,因為十六進製制也包含 0~9 這幾個數字。如果十進位制數字中還不包含 8 和 9,那麼也不能和八進位制區分了。

對於十六進製制數字,如果沒有包含 a~f 或者 a~f,那麼就無法和十進位制區分,如果還不包含 8 和 9,那麼也不能和八進位制區分了。

區分不同進製數字的乙個簡單辦法就是,在輸出時帶上特定的字首。在格式控制符中加上#即可輸出字首,例如 %#x、%#o、%#lx、%#ho 等,請看下面的代

如果不希望設定符號位,可以在資料型別前面加上 unsigned 關鍵字,例如:

unsigned short a = 12;

unsigned int b = 1002;

unsigned long c = 9892320;

這樣,short、int、long 中就沒有符號位了,所有的位都用來表示數值,正數的取值範圍更大了。

這也意味著,使用了 unsigned 後只能表示正數,不能再表示負數了。

C語言 字元型別

1 字元型別名稱是char 2 字元型別裡一共包含256個整數,每個整數可以代表乙個字元 例如 d 等 這些整數和字元是完全可以互相替代的 3 ascii碼表裡列出所有整數和字元的對應關係 a 97 a 65 0 48 4 所有小寫英文本母在ascii碼表裡是連續排列的,a 對應的整數最小,z 對應...

C語言之字元型別

字元常量是用單引號 括起來的單個字元。例如 char c1 a char c3 9 c 中還允許使用轉義字元 來將其後的字元轉變為特殊字元型常量。例如 char c3 n n 表示換行 在 c 中,char的本質是乙個整數,在輸出時,是ascii碼對應的字元。可以直接給char賦乙個整數,然後輸出時...

C語言 逃逸字元 型別轉換和布林型別

逃逸字元是用來表達無法印出來的控制字元或者特殊字元,它由乙個反斜槓 開頭,後面跟上另乙個字元,這兩個字符合起來,組成乙個字元。b是backspace,在sublime中顯示為bs,如果後面不輸入的,它就什麼結果都沒有,如果輸入的話會覆蓋回退前的那個字元。所以 b是回去但不刪除,它由的終端可能是刪除。...