資料型態
C++ 的資料型態
資料型態 (data type) 是程式語言對資料的分類,它是環境配置記憶體的依據;也是運算的基礎。了解不同的資料型態對於編寫高效且正確的程式至關重要。每一種程式語言會定義該語言的資料型態
C++ 的基本資料型態
C++ 的基本資料型態可以分為四類:整數型態、浮點數型態、字元型態 和 布林型態。
1. 整數型態 (Integer Types)
整數型態是沒有小數點的數字。它們佔用的記憶體大小和可以表示的範圍會因型態而異。
| 資料型態 | 大小 (通常) | 範圍 (通常) | 說明 |
|---|---|---|---|
int |
4 位元組 | -2,147,483,648 到 2,147,483,647 | 最常用的整數型態,通常與電腦的自然整數大小相同。 |
short |
2 位元組 | -32,768 到 32,767 | 用於節省記憶體,當數值範圍不大時使用。 |
long |
4 位元組 (或 8 位元組) | 至少與 int 相同 |
用於儲存較大數值的整數。 |
long long |
8 位元組 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 用於儲存非常大的整數。 |
這些整數型態還可以加上修飾詞:
signed:表示可以儲存正數、負數和零 (這是預設值)。unsigned:表示只能儲存非負數 (零和正數),這會將數值的正向範圍加倍。
範例:
int a = 10;
unsigned int b = 20; // 只能是正數或零
short c = -5;
long long d = 123456789012345;
2. 浮點數型態 (Floating-point Types)
浮點數型態是有小數點的數字,也稱為實數。
| 資料型態 | 大小 (通常) | 精度 (通常) | 說明 |
|---|---|---|---|
float |
4 位元組 | 6-7 位有效數字 | 單精度浮點數,用於需要較少精度的情況。 |
double |
8 位元組 | 15-17 位有效數字 | 雙精度浮點數,是最常用的浮點數型態,提供更高的精確度。 |
long double |
8 位元組 (或 10/12/16 位元組) | 至少與 double 相同 |
提供比 double 更高的精確度,但依賴於編譯器和系統。 |
範例:
float pi = 3.14159f; // 注意後面的 'f',表示這是 float
double e = 2.71828;
3. 字元型態 (Character Types)
字元型態是單一字元。
| 資料型態 | 大小 (通常) | 說明 |
|---|---|---|
char |
1 位元組 | 用於儲存單一字元,通常以 ASCII 值表示。 |
wchar_t |
2 或 4 位元組 | 用於儲存寬字元,如 Unicode,以支援多國語言。 |
範例:
char letter = 'A'; // 使用單引號
char number_char = '5';
4. 布林型態 (Boolean Type)
bool:用於儲存布林值,只有兩個可能的值:true(真) 和false(假)。通常用於條件判斷。
範例:
bool is_ready = true;
bool is_complete = false;
如何選擇正確的資料型態?
選擇適當的資料型態可以讓你的程式更有效率且節省記憶體。遵循以下原則:
- 考慮數值範圍:如果你知道變數的數值不會超過
short的範圍,就使用short而不是int,以節省記憶體。 - 考慮精確度:對於需要高精確度的數學運算 (如財務計算),優先使用
double而不是float。 - 使用
auto(C++11 或更新版本):如果你不確定或想讓編譯器自動推斷型態,可以使用auto關鍵字。這可以讓程式碼更簡潔,但要確保你了解推斷出的型態是什麼。
範例:
auto my_number = 100; // my_number 會被推斷為 int
auto my_double = 3.14; // my_double 會被推斷為 double
返回課程目錄
許老師APCS線上家教

留言
張貼留言