# 2-變數的宣告 ## 變數宣告 變數是用來儲存資料的容器,裡面可以放各種不同類型的數據,如數字、字母或字串。在 C++ 中,我們要先「宣告」變數,然後才能使用它們。 ```cpp int a = 1; // 儲存整數 long long b = 2; // 儲存更大的整數 char c = 'a'; // 儲存單個字元 double d = 2.564; // 儲存帶小數點的數字 string e = "ABC"; // 儲存一串文字(字串) ``` ## 常見的變數型態與範例 --- ### 1. **int** - **用途**:存放整數,用於沒有小數的數值。 - **範例**: ```cpp int age = 15; // 表示年齡(age)是15(歲) ``` - **結果**:`age` 會存放整數 `15`。 - **容易混淆的點**:不可用來存放小數,若有小數部分,會自動截掉。例如,`int number = 3.14;` 結果是 `number` 變成 `3`。 ### 1.long long - **用途**:當 `int` 的範圍不夠大(數字太大)時,使用 `long long` 存放更大的整數。 - **範例**: ```cpp long long bigNumber = 123456789012345; // 超過 int 範圍(±2^31-1)的大數 ``` - **結果**:`bigNumber` 會存放數值 `123456789012345`。 - **容易混淆的點**:與 `int` 類似,但可以處理更大的數字。`int` 存儲限制較大,而 `long long` 可以處理更大的正負數(處理上也會較`int`型別更慢)。 - **碎碎念** : 比賽中大部分的情況`int`型別就夠用了,不必要的使用`long long`可能導致運算超時,但是仍然要注意是否可能出現資料在計算過程越界(超出儲存範圍)的情況。 ### 3. **char** - **用途**:存放單一字符,例如字母、符號。 - **範例**: - ```cpp char grade = 'A'; // 存放成績等級 ``` - **結果**:`grade` 會存放字符 `A`。 - **容易混淆的點**:與 `string` 不同,`char` 只能存放一個字符,而且必須用單引號 `' '`,而 `string` 則可以存放多個字符並用雙引號 `" "`。 - **碎碎念** : 與Python不同,單引號與雙引號分別代表 `char` 與 `string` 的資料型別,兩者不可混用,其中`string` 其實是儲存複數`char`的陣列。 ### 4. **double** - **用途**:存放帶小數的數值,用於精確的計算,例如溫度、金額等。 - **範例**: ```cpp double pi = 3.14159; // 存放圓周率 ``` - **結果**:`pi` 會存放小數 `3.14159`。 - **容易混淆的點**:與 `int` 不同,`double` 可以存放小數部分(浮點數),但也會佔用更多記憶體。 - **碎碎念** : `float` `double` 都可以儲存浮點數,兩者都會在計算上出現**嚴重**誤差(可以Google "0.1 + 0.2 爲何不等於0.3"),但`double` 誤差更小,因此此處不提及`float` 型別。 ### 5. **string** - **用途**:存放一串文元(字串),用於姓名、訊息等。 - **範例**: ```cpp string name = "Alice"; // 存放名字 ``` - **結果**:`name` 會存放字串 `"Alice"`。 - **容易混淆的點**:與 `char` 不同,`string` 是一串字符,而 `char` 只能存放單一字符。`string` 需要用雙引號 `" "`,`char` 則用單引號 `' '`。 ### 6. **bool** - **用途**:存放布林值,表示「是」或「否」的狀態,用於邏輯判斷。 - **範例**: ```cpp bool isStudent = true; // 判斷是否為學生 ``` - **結果**:`isStudent` 會存放布林值 `true`。 - **容易混淆的點**:與數字不同,布林值只有兩種狀態 `true` 或 `false`,分別對應數值 `1` 和 `0`。不要誤將布林值與整數混淆。 這些變數型態各有不同的用途,選擇正確的型態能幫助我們更好地處理數據並節省記憶體。 | **變數型態** | **用途** | **容易混淆的點** | | ------------- | -------------------- | --------------------------------------------------------- | | **int** | 存放整數 | 不可存放小數,小數部分會被截掉 | | **long long** | 存放超大整數 | 與 `int` 類似,但範圍更大 | | **char** | 存放單一字符 | 與 `string` 不同,`char` 只能存放一個字符,用單引號 `' '` | | **double** | 存放帶小數的數字 | 與 `int` 不同,`double` 可以存放小數,佔用更多記憶體 | | **string** | 存放文字字串 | 與 `char` 不同,`string` 存放多個字符,用雙引號 `" "` | | **bool** | 存放布林值(真或假) | 與數字不同,布林值只有 `true` 和 `false` | --- # 輸入與輸出 (C++) 在 C++ 程式中,我們經常需要從使用者那裡**讀入資料**,並且把結果**輸出**到螢幕上。這裡我們來介紹如何使用 `cin` 和 `cout` 進行輸入與輸出操作,並提供簡單的範例來幫助理解。 --- ## 基本輸入 (`cin`) 我們使用 `cin` 來從鍵盤讀取資料,並把這些資料存到變數中。語法很簡單:`cin >> 變數名;` ### 範例: ```cpp int a; cin >> a; // 讀入一個整數 ``` --- ## 基本輸出 (`cout`) 我們使用 `cout` 來將變數的內容顯示在螢幕上。語法:`cout << 變數名;` ### 範例: ```cpp int a = 5; cout << a; // 輸出變數 a 的值 (5) ``` --- ## 常用格式符號 我們可以通過一些格式控制符來改變輸出內容的顯示方式,例如使用空格或換行。 | 控制符號 | 作用 | | -------- | ------------------------------ | | `' '` | 在輸出的變數之間加入空格 | | `'\n'` | 換行符號,讓後續輸出顯示在新行 | --- ## 輸入與輸出範例 ### 1. 同時讀取多個變數 ```cpp int a; char b; double c; cin >> a >> b >> c; // 依次讀入整數、字元、小數 ``` ### 2. 輸出多個變數並用空格分隔 ```cpp int a = 5; char b = 'x'; double c = 3.14; cout << a << ' ' << b << ' ' << c << '\n'; // 輸出時有空格與換行 ``` ### 3. 輸出到多行 ```cpp cout << a << '\n' << b << '\n' << c << '\n'; ``` 輸出結果: ``` 5 x 3.14 ``` --- ## 小結 - 使用 `cin` 讀取資料,`cout` 輸出資料。 - 使用 `' '` 加空格,`'\n'` 換行來調整輸出的格式。 ### 例題 1:多變數輸入與輸出[http://120.101.182.21/d/hd112/p/P5] ### 例題 2:換行與空格 [http://120.101.182.21/d/hd112/p/P6] ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up