C++ 快速導覽 - 指派運算

C++ 最基本的指派運算子 (assignment operator) 為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中,如

運算子功能範例
=指派a = b
+=相加同時指派a += b
-=相減同時指派a -= b
/=相除同時指派a /= b
%=取餘數同時指派a %= b
&=位元且同時指派a &= b
^=位元互斥或同時指派a ^= b
|=位元或同時指派a |= b
<<=位元向左位移同時指派a <<= b
>>=位元向右位移同時指派a >>= b


可合用指派運算子的有算術運算子 (arithmetic operator) 及位元運算子 (bitwise operator) ,以下程式示範算術運算子的部份
#include <iostream>
 
int main()
{
    int a = 4;
    int b = 3;
    
    std::cout << (a += b) << std::endl;
    std::cout << (a -= b) << std::endl;
    std::cout << (a *= b) << std::endl;
    std::cout << (a /= b) << std::endl;
    std::cout << (a %= b) << std::endl;

    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:assign1.cpp
    功能:示範指派運算
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯後執行,結果如下



第 8 行
std::cout << (a += b) << std::endl;


變數 a 加上變數 b 的值後,結果變數 a 的值為 7 。然後第 9 行
std::cout << (a -= b) << std::endl;


變數 a 減掉變數 b 的值後,結果變數 a 的值為 4 。餘下可類推。


以下程式示範位元運算子的部份
#include <iostream>
 
int main()
{
    int a = 181;
    int b = 192;
    
    std::cout << (a <<= 2) << std::endl;
    std::cout << (a >>= 2) << std::endl;
    std::cout << (a &= b) << std::endl;
    std::cout << (a |= b) << std::endl;
    std::cout << (a ^= b) << std::endl;

    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:assign2.cpp
    功能:示範指派運算
    作者:張凱慶
    時間:西元 2010 年 10 月 */


編譯後執行,結果如下



中英文術語對照
算術運算子arithmetic operator
位元運算子bitwise operator


您可以繼續參考
運算式
型態轉換


相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁


參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial

C++ Primer, Fourth Edition, Stanley B. Lippman...


本文於 2013 年 1 月更新

沒有留言: