---
# System prepended metadata

title: '常見資料型態[c++]'

---

###### 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
:::

---