###### tag: `C++` # 資料型態 資料型態用於定義變數、矩陣、副程式等 ## 常見資料型態 * 數字:int(整數)、long long(長整數) * 小數:float(浮點數)、double(雙浮點) * 文字:string(字串)、char(字元) * 其他:bool(布林值) --- ## 適用範圍 * 整數: * int -2,147,483,648 ~ 2,147,483,647 * lone long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 * 小數: * float 具7位數 * double 具15位數 * 文字: * string 字串 * char 字元 詳細請見[ascii](https://zh.wikipedia.org/zh-tw/ASCII) * 其他: * bool 真或假 * 真: true(1) * 假: false(0) --- ## 整數 ```cpp= #include <iostream> using namespace std; int main() { int a = 5 ; int b = 6 ; cout << a + b << endl ; // 11 long long c = 35897928153857891; // 因為 35897928153857891 超過 int 的範圍 , 所以這裡要用long long 來定義 cout << 100000000000000000 - c << endl; // 64102071846142109 } ``` --- ## 小數 ```cpp= #include <iostream> using namespace std; int main() { float a = 5.0 ; float b = 3.0 ; cout << a / b << endl ; // 1.66667 } ``` --- ## 文字 ```cpp= #include <iostream> using namespace std; int main() { string a = "ABC" ; string b = "DEF" ; cout << a + b << endl ; // ABCDEF cout << a << b << endl ; // ABCDEF cout << "ABC" << "DEF" << endl; // ABCDEF char c = 'A' ; char d = 68 ; cout << c << endl ; // A cout << d << endl ; // 68 cout << c + d << endl ; // 133 // 因為 A 在 ascii 中的編碼是 65 // 所以 c + d = A + 68 = 65 + 68 = 133 } ``` :::danger * 字串型別的文字必須使用雙引號將其文字包住 <br>ex. "HI" * 字元型別的文字必須使用單引號將其文字包住 <br>ex. 'G' ::: --- ## 其他 ```cpp= #include <iostream> using namespace std; int main() { bool a = true ; bool b = false ; bool c = 0 ; bool d = 1 ; cout << a + b << endl ; // 1 cout << c + d << endl ; // 1 cout << (a + b) * (c + d) << endl ; // 1 cout << (a + b) / (c + d) << endl ; // 1 } ``` :::info * true 切換成數值就是 1 , 所以 true = 1 * false 切換成數值就是 0 , 所以 false = 0 ::: ---