C語言筆記系列(二)--基本數據類型

1. 數據類型

  1. 計算機存儲單位:
    • 位:計算機存儲的基本單位
    • 字節:幾乎對所有機器1字節=8位,C把一個字節定義爲char類型使用的位數。
    • 字:自然的存儲單位,不同計算機一個字有不同位數,現在很多都是32位或64位。
  2. 整數類型:使用二進制編碼存儲
    short,int,long我們一般使用的short是2字節,int和long是4字節,long long就是8字節。使用關鍵字sizeof(int)能計算int字節大小,其他類型也可使用。
    如short,signed short int的縮寫,取值範圍爲-32768~32767
    usigned short的取值範圍爲0~65535。
    %d,%0,%x分別顯示十進制,八進制,十六進制的數。
    %d,%#o,%#x,%#X分別顯示如上,並在前還顯示C語言前綴。
int x=100;
printf("%d; %#o; %#x; %#X",x,x,x,x);

輸出爲:100;0144;0x64;0X64
3. 浮點數類型:使用二進制浮點格式存儲
符號 小數部分 指數部分
+ .31415 1 = 3.1415(十進制版本)
float,double,long double
printf:%f %e %a
上溢:inf,infinity
浮點數有舍入誤差,float只有6、7爲有效數字,如3.1415926,double至少能表示10位有效數字,但他們取值範圍相同。
4. char類型
最小的整數類型,最常用的編碼爲ASCII,8位足夠表示。不同編譯器表可能指示有符號或無符號,除非自己明確寫出關鍵字。
字符有以下六種方法表示:

char c1='A';
char c2=65; 0101; 0x41;
char c3='\101'; '\x41';

非打印字符:
\ 轉義字符
\a發出警報聲
\n換行
\t製表符,一般是第九列
\r 回車,光標回到當前行起始位置
\b退格,通常退格時不刪除退回經過的字符
\ddd三位八進制值
\xhh 二位十六進制值

字符串:
存儲於char數組,數組由相鄰存儲單元組成,每個字符佔用一個單元,\0爲終止符,非打印字符,ASCII值爲0。
char name[num];
strlen()函數:以字符爲單位給出字符串的長度。
使用scanf:遇到空白字符,製表符,換行都終止讀取。讀取一個單詞
gets:處理一般字符串
5. _Bool類型
true爲1
false爲0
6. 可移植類型:inttypes.h
因爲前面所給的類型對於位數定義都不明確,除非查看系統文檔,所以引入此頭文件。
如int16_t 表示16位有符號整數類型
uint32_t 表示32位無符號整數類型
int_least8_t 表示可容納8位有符號數的長度最小的整數類型的別名
int_fast8_t 表示對8爲有符號數而言最快的整數類型的別名
intmax_t 表示最大的有符號整數類型
printf使用%hd或%“PRID num
7. 複數和虛數
三種複數類型float_Complex,double_Complex,long double_Complex
若包含頭文件complex.h則可以用complex代替_Complex
虛數同理
8. 類型轉換
* 當出現於表達式裏,所有比int小的都要轉換爲int執行(如果short與int一樣大,那麼unsigned short就轉爲unsigned int)
* 包含兩種數據類型的運算,兩個值都轉爲高級別的,賦值時值爲賦予的變量的類型。(無符號高於有符號)。
* 當作爲函參被傳遞時,char和short會被轉換爲int,float轉換爲double
* 若是降級,使用顯示轉換。如int n;n=(int)1.6+(int)1.6;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章