C ++中不同类型的运算符

C ++中有许多类型的运算符。这些可以大致分为:算术,关系,逻辑,按位,赋值和其他运算符。

算术运算符

假设变量A持有10,变量B持有20,则-

运算符
描述
       +        
加两个操作数。A + B会给30
--
从第一个减去第二个操作数。A-B会给-10
*
将两个操作数相乘。A * B会给200
/
将分子除以除分子。B / A会给2

模运算符和整数除法后的余数。B%A将给0
++
增量运算符,将整数值加1。A ++会给11
-
减量运算符,将整数值减一。A--会给9


关系运算符

假设变量A持有10,变量B持有20,则-

运算符
描述
==
检查两个操作数的值是否相等,如果是,则条件为真。(A == B)不正确。
!=
检查两个操作数的值是否相等,如果值不相等则条件为真(A!= B)为真。
>
检查左操作数的值是否大于右操作数的值,如果是,则条件成立。(A> B)不成立。
<
检查左操作数的值是否小于右操作数的值,如果是,则条件为true。(A <B)为true。
> =
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。(A> = B)不为真。
<=
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。(A <= B)为真。


逻辑运算符

假设变量A保持1,变量B保持0,则-

运算符
描述
&&
称为逻辑AND运算符。如果两个操作数都不为零,则条件为true。(A && B)为false。
||
 称为逻辑或运算符。如果两个操作数中的任何一个都不为零,则条件变为true。(A || B)为true。
!  
称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将为false。!(A && B)为真。


按位运算符

按位运算符对位进行运算并执行逐位操作。&,|和^的真值表如下。

pqp & qp | qp ^ q
00000
01011
11110
10011


假设A = 60; 和B = 13; 现在为二进制格式,它们将如下所示-

A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A  = 1100 0011


运算符  
描述

如果两个操作数中都存在二进制AND运算符,则会将一个位复制到结果中。(A和B)将得出12,即0000 1100
|
如果在任何一个操作数中存在二进制或运算符,它都会复制一位。(A | B)将给出61,即0011 1101
^
 如果在一个操作数中但不是在两个操作数中都将其置位,则二进制XOR运算符将复制该位。(A ^ B)将给出49,即0011 0001

二进制补码运算符是一元的,并且具有“翻转”位的作用。(〜A)将给出-61,即1100 0011,为2的补码形式,这是因为有符号的二进制数。
<<
二进制左移运算符。左操作数的值向左移动右操作数指定的位数。<< 2将得到240,即1111 0000
>>
二进制右移运算符。左操作数的值向右移动右操作数指定的位数.A >> 2将得到15,即0000 1111


赋值运算符


运算符
描述
=
简单赋值运算符,将值从右侧操作数分配到左侧操作数.C = A + B将A + B的值分配给C
+ =
添加AND赋值运算符,它将右操作数添加到左操作数并将结果分配给左操作数C + = A等效于C = C + A
-=
减去AND赋值运算符,它从左边的操作数减去右边的操作数并将结果赋给左边的操作数C-= A等于C = C-A
* =
 与AND赋值运算符相乘,将右操作数与左操作数相乘并将结果分配给左操作数C * = A等于C = C * A
/ =
除法AND赋值运算符,它将左操作数除以右操作数并将结果赋给左操作数C / = A等效于C = C / A
%=
模AND赋值运算符,它使用两个操作数取模并将结果赋给左操作数C%= A等于C = C%A
<< =
左移AND赋值运算符.C << = 2与C = C << 2相同
>> =
右移AND赋值运算符C >> = 2与C = C >> 2相同
&=
按位与赋值运算符C&= 2与C = C&2相同
^ =
按位异或和赋值运算符.C ^ = 2与C = C ^ 2相同
| =
C | = 2与C = C |相同 2

    

杂项运算符


序号
运算符
1sizeof运算符返回变量的大小。例如,sizeof(a),其中“ a”是整数,将返回4。
2条件运算符(?:) 如果Condition为true,则返回X的值,否则返回Y的值。
3逗号运算符导致要执行的一系列操作。整个逗号表达式的值是逗号分隔列表的最后一个表达式的值。
4(点)和→(箭头)成员运算符用于引用类,结构和联合的单个成员。
5() -强制转换运算符将一种数据类型转换为另一种数据类型。例如,int(2.2000)将返回2。
6指针运算符&返回变量的地址。例如&a; 将给出变量的实际地址。
7指针运算符*是指向变量的指针。例如* var; 将指针指向变量var。