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

算术运算符

下表显示了 C++ 支持的所有算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:

运算符描述实例
+把两个操作数相加A + B 将得到 30
从第一个操作数中减去第二个操作数A – B 将得到 -10
*把两个操作数相乘A * B 将得到 200
/分子除以分母B / A 将得到 2
%取模运算符,整除后的余数B % A 将得到 0
++自增运算符,整数值增加 1A++ 将得到 11
自减运算符,整数值减少 1A– 将得到 9

实例

请看下面的实例,了解 C++ 中所有可用的算术运算符。复制并黏贴下面的 C++ 程序,编译并运行程序,看看效果。

#include <iostream>
using namespace std;

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

c = a + b;
cout << "Line 1 - c 的值是 " << c << endl ;
    c = a - b;
    cout << "Line 2 - c 的值是 " << c << endl ;
    c = a * b;
    cout << "Line 3 - c 的值是 " << c << endl ;
    c = a / b;
    cout << "Line 4 - c 的值是 " << c << endl ;
    c = a % b;
    cout << "Line 5 - c 的值是 " << c << endl ;
    c = a++;
    cout << "Line 6 - c 的值是 " << c << endl ;
    c = a--;
    cout << "Line 7 - c 的值是 " << c << endl ;
return 0; }

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

Line 1 - c 的值是 31
Line 2 - c 的值是 11
Line 3 - c 的值是 210
Line 4 - c 的值是 2
Line 5 - c 的值是 1
Line 6 - c 的值是 21
Line 7 - c 的值是 22


自增运算符 ++ 会把操作数加 1,自减运算符 — 会把操作数减 1。因此:

x = x+1;

等同于

x++;


同样的:

x = x-1;

等同于

x--;


无论是自增运算符还是自减运算符,都可以放在操作数的前面(前缀)或后面(后缀)。例如:

x = x+1;

可以写成:

++x; // 前缀形式


或者:

x++; // 后缀形式


前缀形式与后缀形式之间有一点不同。如果使用前缀形式,则会在表达式计算之前完成自增或自减,如果使用后缀形式,则会在表达式计算之后完成自增或自减。

请看下面的实例,理解二者之间的区别:

#include <iostream>
using namespace std;

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

// a 的值在赋值之前不会自增
c = a++;
cout << "Line 1 - Value of a++ is :" << c << endl ;

// 表达式计算之后,a 的值增加 1
cout << "Line 2 - Value of a is :" << a << endl ;

// a 的值在赋值之前自增
c = ++a;
cout << "Line 3 - Value of ++a is :" << c << endl ;
return 0;
}


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

Line 1 - Value of a++ is :21
Line 2 - Value of a is :22
Line 3 - Value of ++a is :23