單元運算符是只需要一個操作數的運算符。例如,「-10」中的負號(-)是一個單元運算符。
雙元運算符是需要兩個操作數的運算符,其中一個操作數在運算符的左邊,另一個則在右邊。
在一個算式中,括號 () 是用來把當中需要先被運算的部份組合起來;不過,我們有時候會使用括號來增加程序的可讀性。
下表列出五個算術運算符(加、減、乘、除及模數)。它們均是雙元運算符。
在 C++ 中的運算符 | 運算 | C++ 算式範例 | 等同的 Pascal 算式 |
+ | 加 | p + q | p + q |
- | 減 | m - n | m - n |
* | 乘 | a * b | a * b |
/ (參看程序三) | 除 | x / y | x div y (假設 x 及 y
均是整數類型) x / y (假設至少一個操作數是浮點類型) |
% | 模數 | r % s | r mod s |
以下的程序示範除式中操作數的數據類型影響除式的結果︰
#include <iostream.h> main() { int i = 17, j = 5; float x = 17, y, z; cout << i / j << endl; // 顯示的是 3 (不是 3.4)。 // 留意 i 及 j 屬於 int 類型,而 x 屬於 float 類型。 y = i / j; // y 儲存的是 3。 cout << y << endl; z = x / j; // z 儲存的是 3.4。 cout << z << endl; // 比較以下各語句︰ cout << 18 / 8 << endl; // 顯示的是 2。 cout << 18.0 / 8 << endl; // 顯示的是 2.25。 cout << 18 / 8.0 << endl; // 顯示的是 2.25。 cout << 18.0 / 8.0 << endl; // 顯示的是 2.25。 return 0; } |
C++ 算式 | 等同的 Pascal 算式 |
(x + y - a) % b | (x + y - a) mod b |
#include <iostream.h> main() { char c1 = 'A', // 「A」的 ASCII 碼是 65。 c2; int i; float x; c2 = c1 + 5; // c2 儲存這「F」(ASCII 碼 = 65+5 = 70)。 cout << c2 << endl; x = -0.25; i = c2 * x; // i 儲存的是 -17 〔70*(-0.25) = -17.5 的整數部份〕。 cout << i << endl; return 0; } |