C ++中的运算符

运算符是一个符号,它告诉编译器执行特定的数学或逻辑操作. C ++内置运算符丰富,提供以下类型的运算符 :

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 按位运算符

  • 赋值运算符

  • 其他操作符

本章将逐一检查算术,关系,逻辑,按位,赋值和其他运算符.

算术运算符

C ++语言支持以下算术运算符 :

假设变量A保持10和变量B持有20,然后是 :


减去第二个操作数

运算符描述示例
+添加两个操作数A + B将给出30
-从第一个A  -  B将给出-10
*将两个操作数相乘A * B将给出200
/将分子除以除分子B/A将给2
%模数运算符和整数除法后的余数B%A将给出0
++增量o perator ,将整数值增加一个A ++将给出11
-递减运算符,将整数值减少一个A--将给出9

关系运算符

C ++语言支持以下关系运算符

假设变量A保持10变量B保持20,然后:

运算符描述示例
=简单赋值运算符,Assigns从右侧操作数到左侧操作数的值.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
%=模数和赋值运算符,它使用两个操作数获取模数,并将结果赋给左操作数.C%= A相当于C = C%A
<< =左移AND赋值运算符.C<< = 2与C = C<< 2
>> =右移AND赋值运算符.C>> = 2与C = C>>相同2
& =按位AND赋值运算符.C& = 2与C = C& 2
^ =按位异或和分配运算符.C ^ = 2与C = C ^ 2相同
| =按位包含OR和赋值运算符.C | = 2与C = C |相同2

其他运营商

下表列出了其他一些C ++运算符支持.

Sr.No运算符&说明
1

sizeof

sizeof operator 返回变量的大小.例如,sizeof(a),其中'a'是整数,并将返回4.

2

条件? X:Y

条件运算符(?).如果Condition为true,则返回X的值,否则返回Y的值.

3

逗号运算符导致执行一系列操作.整个逗号表达式的值是逗号分隔列表的最后一个表达式的值.

4

. (dot) and  -> (arrow)

会员运营商用于引用班级的个别成员,结构和工会.

5

Cast

投射操作符转换一种数据类型到另一种.例如,int(2.2000)将返回2.

6

&

指针operator& 返回变量的地址.例如& a;将给出变量的实际地址.

7

*

指针运营商* 是指向变量的指针.例如* var;将指向变量var.

运算符优先于C ++

运算符优先级确定表达式中的术语分组.这会影响表达式的计算方式.某些运营商的优先级高于其他运营商;例如,乘法运算符的优先级高于加法运算符 :

例如x = 7 + 3 * 2;这里,x被赋值为13而不是20,因为operator *的优先级高于+,所以它首先乘以3 * 2然后加到7中.

这里,运算符最高优先级显示在表格的顶部,最低的优先级显示在底部.在表达式中,将首先评估更高优先级的运算符.

类别 运算符 Associativity 
Postfix ()[]  - &GT; . ++  -   -  从左到右 
一元 +  - ! 〜++  -   - (类型)*& sizeof 从右到左 
Multiplicative */% 从左到右 
添加剂 +  -  从左到右 
Shift << >> 从左到右 
关系 < < => > = 从左到右 
Equality ==!= 从左到右 
按位和 从左到右 
按位异或 从左到右 
按位OR 从左到右 
逻辑AND &&  从左到右 
逻辑或 || 从左到右 
有条件 ?: 从右到左 
作业 = + =  -  = * =/=%=>> =<< =& = ^ = | = 从右到左 
逗号 , Left到右边