# 【1-5】運算子 運算子(Operator)分成三種:比較運算子、算術運算子、邏輯運算子 聽起來好複雜,但其實運算子的概念其實大家從國小就建立了,不信的話,我們一起看下去! ## 比較運算子(Comparison Operators)  來個暖身題,看看你懂不懂比較運算子: 題目:請填入大於、小於或等於 1. 9 □ 5 2. -8 □ -7 3. 6 □ 6 <details> <summary>解答</summary> ``` 1. > 2. < 3. = ``` </details> 沒錯!你已經學會比較運算子了喔!使用比較運算子用來陳述兩個值的關係,比較後會回傳 `true` 或 `false`,詳見下方表格介紹: | 符號 | 意思 | | -------- | -------- | | `==` | 相等 | | `>` | 大於 | | `<` | 小於 | | `>=` | 大於等於 | | `<=` | 小於等於 | | `!=` | 不等於 | 注意!相等是兩個等號,因為一個等號已經被拿去當變數賦值用了(宣告變數 `int a = 5`,就是用 `=` 把 5 這個值存到 `a` 當中),所以改用兩個等號。 還有,不等於我們用 `!` 來表示「非」,在後面邏輯運算子會再提到。 ## 算術運算子(Arithmetic Operators)  一樣,我們從題目來學觀念: 題目:請透過四則運算計算出答案 1. 3 + 8 = 2. 15 - 7 = 3. 2 * 9 = 4. 36 / 3 = <details> <summary>解答</summary> ``` 1. 11 2. 8 3. 18 4. 12 ``` </details> 這個應該不難,就不多贅述了。 --- 接下來我們來學一個新的運算子——取餘數(%)  被除式÷除式=商式+餘式 這個應該大家都不陌生,舉個例子:25÷4=6…1 而這個 1 就是餘數 我們定義一個符號 % ,可以用來得到除法運算後的餘數 ``` a%b = a÷b 的餘數 ``` 以剛才的例子,25%4 就會等於 1 --- 最後是在程式當中的縮寫,因為程式常常出現把 * 原本的變數取出來 * 運算 * 再存回去 ```cpp= int x = 5; x = x + 1; // 把 x 設為 x + 1,也就是 5 + 1 = 6,再把 6 存回去 x 當中 ``` 但這樣太麻煩,工程師總是很偷懶的,所以我們定義了一種符號表示方法: ``` 變數名稱 運算子=數值 ``` 舉個例子: ```cpp= int x = 5; x += 1; ``` 這樣就能把變數做算術運算子的操作,也給定數值,最後再存回去變數中。 又因為常常用到 `+=1` 和 `-=1`,所以特別定義 `++` 和 `--` 來表示。 ```cpp= int x = 5; x++; ``` 上方三段程式碼功能完全相同,只差在有沒有使用縮寫而已。下表整理常用算術運算子: | 符號 | 意思 | | -------- | -------- | | `++` | 遞增(+1) | | `╴╴` | 遞減(-1) | | `+=` | 加完後存回 | | `-=` | 減完後存回 | | `*=` | 乘完後存回 | | `/=` | 除完後存回 | ### Python對照 相同,只是沒有 `++` 和 `--` ## 邏輯運算子(Logical Operators) 試著回答下面幾個問題: 請問到底要拿什麼? 1. 幫我把水壺和手機拿過來 2. 幫我拿一支藍筆或黑筆 3. 幫我拿不冰的飲料 <details> <summary>解答</summary> ``` 1. 水壺、手機(兩個都要拿) 2. 藍筆也可以,黑筆也可以 3. 飲料(但排除冰的飲料) ``` </details> 剛才示範的,就是三種邏輯運算子:且(`&&`)、或(`||`)、非(`!`)  我們可以把問題改寫一下,變成程式語言的樣子: 1. 水壺 `&&` 手機 2. 藍筆 `||` 黑筆 3. `!` 飲料 「且(`&&`)」若AB兩事件皆為 `true` 則回傳 `true`,反之回傳 `false` 「或(`||`)」若AB兩事件其中至少一件為 `true` 則回傳 `true`,反之回傳 `false` 「非(`!`)」代表反轉布林值,若A事件為 `true` 則回傳 `false`,反之回傳 `true` | 符號 | 意思 | | -------- | -------- | | `&&` | 而且 | | `||` | 或者 | | `!` | 非 | ### Python對照 | C++ | Python | | -------- | -------- | | `&&` | `and` | | `||` | `or` | | `!` | `not` | C++ 的編譯器其實也看得懂 `and`、`or`、`not` 這種寫法,只不過APCS觀念題中還是用 `&&`、`||` 和 `!` 呈現。 --- ## 練習題 [U0005-要考幾分才會過](https://code.dali.tc.edu.tw/problem/U0005) [U0006-穿搭組合](https://code.dali.tc.edu.tw/problem/U0006) --- 聯絡方式:codecodefunny@gmail.com 最後編修時間:2025/07/22 子柚筆
×
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