| 類別 | 示例 | 說明 | |||
|---|---|---|---|---|---|
| 整型 | 10, -5, 0xFF | 十進制/八進制/十六進制 | |||
| 實型 | 3.14, 1.2e-3 | 小數/科學記數法 | |||
| 字符 | 'a', '\n', '\\' | 單引號,轉義字符 | |||
| 字符串 | "hello" | 雙引號,隱含 \0 結尾 | |||
| 符號 | #define PI 3.14 | 預處理替換,無類型檢查 |
| 類型 | 典型大小 | 有號範圍 | 無號範圍 |
|---|---|---|---|
| short | 2 bytes | -32,768 ~ 32,767 | 0 ~ 65,535 |
| int | 2/4 bytes | -32,768 ~ 32,767 / -2^31 ~ 2^31-1 | 0 ~ 65,535 / 0 ~ 2^32-1 |
| long | 4/8 bytes | 同上或更大 | 同上或更大 |
| long long | 8 bytes | -2^63 ~ 2^63-1 | 0 ~ 2^64-1 |
補碼表示:最高位為符號位,負數 = 正數按位取反 +1。例如 8 位:+5 = 00000101,-5 = 11111011。
char 佔 1 字節(8 位),有號範圍 -128~127,無號 0~255。printf("%d %c", c, c) 同一變數可輸出碼值與字符。| 類型 | 大小 | 有效位數 | 範圍約略 | scanf 格式 | printf 格式 |
|---|---|---|---|---|---|
| float | 4 bytes | 6~7 位 | 10^-38 ~ 10^38 | %f | %f |
| double | 8 bytes | 15~16 位 | 10^-308 ~ 10^308 | %lf | %f |
| long double | 10/16 bytes | 19+ 位 | 更大 | %Lf | %Lf |