1. 主页
  2. 文档
  3. Level1题解(1-10)
  4. 第3课 运算符与表达式
  5. 赋值运算符

赋值运算符

下表列出了 C++ 支持的赋值运算符:

运算符描述实例
=简单的赋值运算符,把右边操作数的值赋给左边操作数C = A + B 将把 A + B 的值赋给 C
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数C += A 相当于 C = C + A
-=减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数C -= A 相当于 C = C – A
*=乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数C *= A 相当于 C = C * A
/=除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数C /= A 相当于 C = C / A
%=求模且赋值运算符,求两个操作数的模赋值给左边操作数C %= A 相当于 C = C % A
<<=左移且赋值运算符C <<= 2 等同于 C = C << 2
>>=右移且赋值运算符C >>= 2 等同于 C = C >> 2
&=按位与且赋值运算符C &= 2 等同于 C = C & 2
^=按位异或且赋值运算符C ^= 2 等同于 C = C ^ 2
|=按位或且赋值运算符C |= 2 等同于 C = C | 2

实例

请看下面的实例,了解 C++ 中所有可用的赋值运算符。

复制并黏贴下面的 C++ 程序到 test.cpp 文件中,编译并运行程序。

#include <iostream>
using namespace std;

main()
{
int a = 21;
int c ;

c = a;
cout << "Line 1 - = 运算符实例,c 的值 = : " <<c<< endl ;
    c += a;
    cout << "Line 2 - += 运算符实例,c 的值 = : " <<c<< endl ;
    c -= a;
    cout << "Line 3 - -= 运算符实例,c 的值 = : " <<c<< endl ;
    c *= a;
    cout << "Line 4 - *= 运算符实例,c 的值 = : " <<c<< endl ;
    c /= a;
    cout << "Line 5 - /= 运算符实例,c 的值 = : " <<c<< endl ;
    c = 200;
    c %= a;
    cout << "Line 6 - %= 运算符实例,c 的值 = : " <<c<< endl ;
    c <<= 2;
    cout << "Line 7 - <<= 运算符实例,c 的值 = : " <<c<< endl ;
    c >>= 2;
cout << "Line 8 - >>= 运算符实例,c 的值 = : " <<c<< endl ;
    c &= 2;
    cout << "Line 9 - &= 运算符实例,c 的值 = : " <<c<< endl ;
    c ^= 2;
    cout << "Line 10 - ^= 运算符实例,c 的值 = : " <<c<< endl ;
    c |= 2;
    cout << "Line 11 - |= 运算符实例,c 的值 = : " <<c<< endl ;
    return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

Line 1 - =  运算符实例,c 的值 = 21
Line 2 - += 运算符实例,c 的值 = 42
Line 3 - -= 运算符实例,c 的值 = 21
Line 4 - *= 运算符实例,c 的值 = 441
Line 5 - /= 运算符实例,c 的值 = 21
Line 6 - %= 运算符实例,c 的值 = 11
Line 7 - <<= 运算符实例,c 的值 = 44 Line 8 - >>= 运算符实例,c 的值 = 11
Line 9 - &= 运算符实例,c 的值 = 2
Line 10 - ^= 运算符实例,c 的值 = 0
Line 11 - |= 运算符实例,c 的值 = 2