C 運算符號
C 的運算符號可依功能分成以下幾類:
| 分類 | 常見運算符號 | 功能 |
|---|---|---|
| 算術運算 | `+`、`-`、`*`、`/`、`%` | 進行數值計算 |
| 指定運算 | `=`、`+=`、`-=`、`*=`、`/=` | 將值指定給變數 |
| 比較運算 | `==`、`!=`、`>`、`<`、`>=`、`<=` | 比較兩個值,結果為真 `1` 或假 `0` |
| 邏輯運算 | `&&`、`\|\|`、`!` | 組合或反轉條件 |
| 單元運算 | `++`、`--`、`-`、`!`、`sizeof` | 只對一個運算元進行操作 |
## 1. 算術運算
用於基本數學計算。
```c
#include <stdio.h>
int main(void) {
int a = 10;
int b = 3;
printf("加法:%d\n", a + b);
printf("減法:%d\n", a - b);
printf("乘法:%d\n", a * b);
printf("除法:%d\n", a / b);
printf("餘數:%d\n", a % b);
return 0;
}
```
其中,`/` 對整數相除時會捨去小數部分,例如 `10 / 3` 的結果是 `3`。
## 2. 指定運算
將右側的值指定給左側變數。除了基本的 `=`,也可以使用複合指定運算符號。
```c
#include <stdio.h>
int main(void) {
int score = 60; // 使用 = 指定初始值
score += 10; // 等同於 score = score + 10
printf("分數:%d\n", score);
return 0;
}
```
常見形式如下:
```c
x += 5; // x = x + 5
x -= 5; // x = x - 5
x *= 5; // x = x * 5
x /= 5; // x = x / 5
```
## 3. 比較運算
用於比較兩個值,結果是整數 `1`(真)或 `0`(假)。
```c
#include <stdio.h>
int main(void) {
int age = 20;
if (age >= 18) {
printf("已成年\n");
} else {
printf("未成年\n");
}
return 0;
}
```
注意:`==` 是「比較是否相等」,而 `=` 是「指定」,兩者用途不同。
## 4. 邏輯運算
用於組合多個條件:
- `&&`:且,所有條件都成立才為真
- `||`:或,只要一個條件成立就為真
- `!`:非,將真假結果反轉
```c
#include <stdio.h>
int main(void) {
int age = 20;
int has_ticket = 1;
if (age >= 18 && has_ticket) {
printf("可以入場\n");
} else {
printf("不能入場\n");
}
return 0;
}
```
在 C 中,非零值通常視為真,`0` 視為假。
## 5. 單元運算符號
單元運算符號只作用於一個運算元,例如遞增 `++`、遞減 `--`、負號 `-` 和邏輯反相 `!`。
```c
#include <stdio.h>
int main(void) {
int count = 5;
count++; // count 增加 1
printf("count = %d\n", count);
return 0;
}
```
`count++` 等同於 `count = count + 1`;而 `count--` 則會使變數減少 `1`。此外,`++count` 與 `count++` 的差異在於運算先後順序,但兩者都會使 `count` 增加 `1`。
相關學習地圖、教學課程
C 語言,系統程式