運算符(第一部份)

前頁 目錄 下頁

單元及雙元運算符 括號 算術運算符

單元及雙元運算符 Top

單元運算符是只需要一個操作數的運算符。例如,「-10」中的負號(-)是一個單元運算符。

雙元運算符是需要兩個操作數的運算符,其中一個操作數在運算符的左邊,另一個則在右邊。


括號 Top

在一個算式中,括號 () 是用來把當中需要先被運算的部份組合起來;不過,我們有時候會使用括號來增加程序的可讀性。


算術運算符 Top

下表列出五個算術運算符(加、減、乘、除及模數)。它們均是雙元運算符

在 C++ 中的運算符 運算 C++ 算式範例 等同的 Pascal 算式
+ p + q p + q
- m - n m - n
* a * b a * b
/ (參看程序三 x / y x div y (假設 xy 均是整數類型)
x / y (假設至少一個操作數是浮點類型)
% 模數 r % s r mod s

注意

  1. 加、減、乘及除運算得出的結果之數據類型和算式的操作數有關︰
    1. 如果兩個操作數均是整數類型,結果會是整數類型。
    2. 如果至少一個操作數是浮點類型,結果會是浮點類型。
  2. 以下的程序示範除式中操作數的數據類型影響除式的結果︰

    程序三C++ 中的除法
    #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;
    }
  3. 加、減、乘及模數的運算方法和 Pascal 的相若。例如︰
    C++ 算式 等同的 Pascal 算式
    (x + y - a) % b (x + y - a) mod b
  4. 模數算式中的操作數一定要是整數類型。
  5. 字符也可在算術算式中出現。在這情況下,字符的 ASCII 值會被用來運算。試看看以下程序︰
    程序四︰在算術算式中使用字符
    #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;
    }

前頁 目錄 下頁