我們寫程式,很多時候是想要用電腦做一些複雜的計算。這時候就會需要用到今天我們要來講的主角-算數運算子!
算數運算子包含一般我們從小到大學數學四則運算會用到的運算子(+、 -、 *、 /)再加上 %(取餘數)、遞增運算子、遞減運算子。
| 運算子 | 說明 | 
|---|---|
| + | 加,變數相加。 | 
| - | 減,變數相減。 | 
| * | 乘,變數相乘。 | 
| / | 除,變數相除。 | 
| % | 取餘數,取兩整數相除後的餘數(整數)。 | 
在寫程式時,為了程式碼的簡潔與方便,會使用遞增遞減運算子。
| 運算子 | 說明 | 
|---|---|
| ++ | 遞增,會將變數的值 +1。如 ++a或a++會等於a=a+1。 | 
| -- | 遞減,會將變數的值 -1。如 --a或a--會等於a=a-1。 | 
那遞增、遞減運算子放在變數前或變數後,又有甚麼差別呢?其實在運算上會有順序問題!
++ 或 -- 在變數前,表示其變數先加 1 或先減 1,再設定給其他變數。++ 或 -- 在變數後,表示其變數先設定給其他變數,再加 1 或減 1。這樣說是不是有點抽象呢?我們來看看程式碼!
#include<stdio.h>
int main(){
	int a = 0, b = 0;
	printf("prefix  a : %d \n", ++a);
	printf("postfix b : %d ", b++);
	return 0;
}
執行後輸出結果:

在這個程式中,我們宣告整數 a 和 b,並給他們一個值是 0。
然後 a 是使用遞增運算子,但屬於前置,b 則是後置。會發現 a 的值等於 1,因為他是先加 1 後再輸出,而 b 的值會等於 0,因為他是先輸出再加 1。
或許,你會懷疑,b 真的有+1嗎?
讓我們加一行程式碼,把 b 純粹再印一次出來:
#include<stdio.h>
int main(){
	int a = 0, b = 0;
	printf("prefix  a : %d \n", ++a);
	printf("postfix b : %d \n", b++);
	printf("now b : %d ", b);
	return 0;
}
輸出結果:

這時候就能清楚發現,b 是有 +1 的!!!
講完了基本的算數運算子,明天再來講講其他有用的運算子吧~