一文详解C++中运算符的使用

目录
一、算术运算符
二、关系运算符
三、逻辑运算符
四、位运算符
五、赋值运算符
六、杂项运算符

一、算术运算符
运算符 描述

  • 把两个操作数相加
  • 从第一个操作数中减去第二个操作数
  • 把两个操作数相乘
    / 分子除以分母
    % 取模运算符,整除后的余数
    ++ 自增运算符,整数值增加 1
    – 自减运算符,整数值减少 1
    通过下面的例子可以让我们更好的理解C++中的运算符的意义与使用方法。
#include 
using namespace std;
 
int main()
{
  int a = 66;
  int b = 33;
  int c;
 
  c = a + b;
  cout << "a + b 的值是 " << c << endl ;
  c = a - b;
  cout << "a - b 的值是 " << c << endl ;
  c = a * b;
  cout << "a * b 的值是 " << c << endl ;
  c = a / b;
  cout << "a / b 的值是 " << c << endl ;
  c = a % b;
  cout << "a % b 的值是 " << c << endl ;
 
  return 0;
}

输出:

a + b 的值是 99
a - b 的值是 33
a * b 的值是 2178
a / b 的值是 2
a % b 的值是 0

注意:需要知道a++和++a的区别(a–一样)

a++ :a先进行赋值,然后再进行++运算。

++a :a首先进行++运算,然后赋值给a。

下面的代码可以更好的展示他们两个的关系:

#include 
using namespace std;
 
int main()
{
 
  int z = 1;
  cout << z++ << endl;
   
  int h = 1;
  cout << ++h;
 
  return 0;
}

输出:

1
2

二、关系运算符
运算符 描述
== 检查两个操作数的值是否相等,如果相等则条件为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。

检查左操作数的值是否大于右操作数的值,如果是则条件为真。
< 检查左操作数的值是否小于右操作数的值,如果是则条件为真。
<= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。
= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。
#include 
using namespace std;
 
int main()
{
  int a = 21;
  int b = 10;
  int c ;
 
  if( a == b )
  {
    cout << "a 等于 b" << endl ;
  }
  else
  {
    cout << "a 不等于 b" << endl ;
  }
  if ( a < b )
  {
    cout << "a 小于 b" << endl ;
  }
  else
  {
    cout << "a 不小于 b" << endl ;
  }
  if ( a > b )
  {
    cout << "a大于 b" << endl ;
  }
  else
  {
    cout << "a 不大于 b" << endl ;
  }
 
  return 0;
}

输出:

a 不等于 b
a 不小于 b
a大于 b

下面的代码可以让我们更好的理解逻辑运算符:

#include 
using namespace std;
 
int main()
{
  int a = 10;
  int b = 20;
  int c = 30;
  int d = 100;
 
  if( a == b  || c < d)
    cout << "6666" << endl;
  else
    cout << "66-----66" << endl;
 
  if( a < b  && b < c && d < c)
    cout << "7777" << endl;
  else
    cout << "77-----77" << endl;
 
  if( !(a == b  || c == d))
    cout << "8888" << endl;
  else
    cout << "88-----88" << endl;
  return 0;
}

输出:

6666
77-----77
8888

三、逻辑运算符
运算符 描述
&& 称为逻辑与运算符。如果两个操作数都 true,则条件为 true。
丨丨 称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。

四、位运算符
p q p&q p丨q p^q
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
&:表示位与操作
丨:表示位或操作
^ :表示异或操作

五、赋值运算符
运算符 描述
= 简单的赋值运算符,把右边操作数的值赋给左边操作数
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数
<<= 左移且赋值运算符

= 右移且赋值运算符
&= 按位与且赋值运算符
^= 按位异或且赋值运算符
丨= 按位或且赋值运算符

六、杂项运算符
sizeof-----sizeof 运算符返回变量的大小。例如,sizeof(a) 将返回 4,其中 a 是整数。

Condition ? X : Y-----如果 Condition 为真 ? 则值为 X : 否则值为 Y。

.(点)和 ->(箭头)-----成员运算符用于引用类、结构和共用体的成员。

Cast-----强制转换运算符把一种数据类型转换为另一种数据类型。例如,int(2.2000) 将返回 2。

&------指针运算符 & 返回变量的地址。例如 &a; 将给出变量的实际地址。

------指针运算符 指向一个变量。例如,*var; 将指向变量 var。

你可能感兴趣的