資料型態

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;

如何選擇正確的資料型態?

選擇適當的資料型態可以讓你的程式更有效率且節省記憶體。遵循以下原則:

  1. 考慮數值範圍:如果你知道變數的數值不會超過 short 的範圍,就使用 short 而不是 int,以節省記憶體。
  2. 考慮精確度:對於需要高精確度的數學運算 (如財務計算),優先使用 double 而不是 float
  3. 使用 auto (C++11 或更新版本):如果你不確定或想讓編譯器自動推斷型態,可以使用 auto 關鍵字。這可以讓程式碼更簡潔,但要確保你了解推斷出的型態是什麼。

範例:

auto my_number = 100;      // my_number 會被推斷為 int
auto my_double = 3.14;     // my_double 會被推斷為 double

返回課程目錄
許老師APCS線上家教

留言

這個網誌中的熱門文章

目錄

Code::Blocks