我們寫程式,很多時候是想要用電腦做一些複雜的計算。這時候就會需要用到今天我們要來講的主角-算數運算子!
算數運算子包含一般我們從小到大學數學四則運算會用到的運算子(+
、 -
、 *
、 /
)再加上 %
(取餘數)、遞增運算子、遞減運算子。
運算子 | 說明 |
---|---|
+ |
加,變數相加。 |
- |
減,變數相減。 |
* |
乘,變數相乘。 |
/ |
除,變數相除。 |
% |
取餘數,取兩整數相除後的餘數(整數)。 |
在寫程式時,為了程式碼的簡潔與方便,會使用遞增遞減運算子。
運算子 | 說明 |
---|---|
++ |
遞增,會將變數的值 +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 的!!!
講完了基本的算數運算子,明天再來講講其他有用的運算子吧~