整型包括整型常量與變量。常量分十進制、八進制、十六進制三種進制,並通過前綴、後綴區分類型與長度;變量分基本、短、長、無符號四大類,掌握其範圍、字節數與說明規範至關重要。
| 進制 | 前綴 | 合法數碼 | 示例(十進制值) | 非法示例 |
|---|---|---|---|---|
| 八進制 | 0 | 0~7 | 015(13) 0101(65) 0177777(65535) | 256(無0) 03A2(含A) -0127(負號) |
| 十六進制 | 0x/0X | 0~9,A~F/a~f | 0X2A(42) 0XA0(160) 0XFFFF(65535) | 5A(無0x) 0X3H(含H) |
| 十進制 | 無 | 0~9 | 237 -568 65535 | 023(前導0) 23D(含D) |
關鍵: 書寫常數時前綴不可錯,否則被誤認為其他進制導致結果錯誤。
16位機基本整型 2 字節,範圍有限。超出範圍需用長整型(4 字節):
| 類型 | 後綴 | 示例(十進制值) | |
|---|---|---|---|
| 十進制長整數 | L/l | 158L, -358000L | |
| 八進制長整數 | L/l | 012L(10) 077L(63) 0200000L(65536) | |
| 十六進制長整數 | L/l | 0X15L(21) 0XA5L(165) 0X10000L(65536) |
| 類型說明符 | 含義 | 字節數 | 數值範圍 |
|---|---|---|---|
| int / short int / signed int | 基本/短/有符號整型 | 2 | -32768 ~ 32767 |
| unsigned int / unsigned | 無符號基本整型 | 2 | 0 ~ 65535 |
| long int / long | 長整型 | 4 | -2147483648 ~ 2147483647 |
| unsigned long | 無符號長整型 | 4 | 0 ~ 4294967295 |
無符號類型與基本/短/長匹配構成三種無符號型,字節數同對應有符號型,但無符號位擴大了正數範圍。
類型說明符 變量名1, 變量名2, ...;
int a, b, c;
long x, y;
unsigned p, q;
long x=5, y=6;
int a=7, b=8, c, d;
c = x + a; // long + int → 運算提升為 long,結果賦給 int c(可能截斷)
d = y + b;
不同類型可直接運算、賦值,編譯器自動完成類型轉換(整型提升、算術轉換),但需注意目標類型範圍是否足夠。
// 練習1:short/int 混合運算
short d=100; a=d-20; b=a+d; c=a+b+d; d=d-a+c-b;
// 練習2:long/int 運算溢出觀察
long c,d; c=a+b-7; d=a*b*c; c=d*d*d; a=c-d;
// 練習3:unsigned 繞回特性
unsigned c; c=a-b+7; // 6-19+7=-6 → 無符號繞回 65530
熟練掌握進制前綴、長度/無符號後綴、變量分類範圍、說明語法與混合運算轉換規則,是避免溢出、截斷、符號誤解等低級錯誤的關鍵。