C/C++中的运算符

操作员 是任何编程语言的基础。我们可以将运算符定义为符号,帮助我们对操作数执行特定的数学和逻辑计算。换句话说,我们可以说运算符操作操作数。例如,“+”是用于加法的运算符,如下所示:

null
c = a + b;

这里,“+”是被称为加法运算符的运算符,“a”和“b”是操作数。加法运算符告诉编译器将两个操作数“a”和“b”相加。

如果不使用运算符,C/C++编程语言的功能是不完整的。

C/C++有许多内置运算符,可分为6种类型:

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 位运算符
  5. 赋值运算符
  6. 其他运营商

Operators in C and C++

以上操作人员已详细讨论:

1.算术运算符:

这些运算符用于对操作数执行算术/数学运算。例如:(+,-,*,/,%,++,–)。算术运算符有两种类型:

a) 一元运算符 :操作或使用单个操作数的运算符是一元运算符。例如:递增(++)和递减(–)运算符

int val = 5;
++val;  // 6

b) 二进制运算符 :操作或使用两个操作数的运算符是二进制运算符。例如:加法(+)、减法(-)、乘法(*)、除法(/)运算符

int a = 7;
int b = 2;
cout<<a+b; // 9

2.关系运算符:

它们用于比较两个操作数的值。例如,检查一个操作数是否等于另一个操作数,一个操作数是否大于另一个操作数,等等。一些关系运算符是(=、>=、<=)(请参见 文章提供更多参考)。

int a = 3;
int b = 5;
a < b;
// operator to check if a is smaller than b

3.逻辑运算符:

逻辑运算符用于组合两个或多个条件/约束,或补充对考虑中的原始条件的评估。逻辑运算符的运算结果也是布尔值 符合事实的 错误的 .

例如 逻辑与 代表为 C和C++中的& &运算符 当所考虑的两个条件都满足时,返回true。否则,返回false。因此,当a和b都为真(即非零)时,a&&b返回真(参见 文章提供更多参考)。

(4 != 5) && (4 < 5);     // true

4.位运算符:

按位运算符用于对操作数执行位级操作。首先将运算符转换为位级别,然后对操作数执行计算。可以在位级别执行加法、减法、乘法等数学运算,以加快处理速度。例如 按位与 代表为 C或C++中的运算符 将两个数字作为操作数,并对两个数字的每一位进行and运算。只有当两位都为1时,AND的结果才为1。(见 文章提供更多参考)。

int a = 5, b = 9;   // a = 5(00000101), b = 9(00001001)
cout << (a ^ b);   //  00001100
cout <<(~a);       // 11111010

5.分配操作员:

赋值运算符用于为变量赋值。赋值运算符的左侧操作数是变量,右侧操作数是值。右侧的值必须与左侧的变量具有相同的数据类型,否则编译器将引发错误。

不同类型的赋值运算符如下所示: a、 “=”: 这是最简单的赋值运算符。此运算符用于将右侧的值分配给左侧的变量。 例如:

a = 10;
b = 20;
ch = 'y';

b、 “+=” :此运算符是“+”和“=”运算符的组合。该运算符首先将左侧变量的当前值与右侧的值相加,然后将结果分配给左侧的变量。 例如:

(a += b) can be written as (a = a + b)
If initially value stored in a is 5. Then (a += 6) = 11.

c、 “-=” :此运算符是“-”和“=”运算符的组合。该运算符首先从左侧变量的当前值中减去右侧的值,然后将结果分配给左侧变量。 例如:

(a -= b) can be written as (a = a - b)
If initially value stored in a is 8. Then (a -= 6) = 2.

d、 “*=” :此运算符是“*”和“=”运算符的组合。该运算符首先将左侧变量的当前值乘以右侧的值,然后将结果分配给左侧的变量。 例如:

(a *= b) can be written as (a = a * b)
If initially, the value stored in a is 5. Then (a *= 6) = 30.

e、 “/=” :此运算符是“/”和“=”运算符的组合。该运算符首先将左侧变量的当前值除以右侧的值,然后将结果分配给左侧的变量。 例如:

(a /= b) can be written as (a = a / b)
If initially, the value stored in a is 6. Then (a /= 2) = 3.

6.其他运营商 :

除了上面的操作符,还有一些其他的操作员在C或C++中用来执行一些特定的任务。这里讨论了其中一些问题:

A. sizeof运算符 :

  • sizeof在C/C++编程语言中经常使用。
  • 它是一个编译时一元运算符,可用于计算其操作数的大小。
  • sizeof的结果是无符号整数类型,通常用size_t表示。
  • 基本上,运算符的大小用于计算变量的大小。(见 (供参考)

B 逗号运算符 :

  • 逗号运算符(由标记表示)是一个二进制运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回此值(和类型)。
  • 逗号运算符的优先级低于任何C运算符。
  • 逗号同时充当运算符和分隔符。(见 (供参考)

C 条件运算符 :

  • 条件运算符的形式为 表情1?表达2:表达3 .
  • 这里,表达式1是要评估的条件。如果条件(表达式1)为 符合事实的 然后,如果条件(Expression1)为 错误的 然后我们将执行并返回Expression3的结果。
  • 我们可以用if代替。。带有条件运算符的else语句。(见 (供参考)

运算符优先图

下表描述了C/C++中操作符的优先顺序和关联性。运算符的优先级从上到下递减。

优先 操作人员 描述 结合性
1. () 括号(函数调用) 从左到右
[] 括号(数组下标)
. 通过对象名称选择成员
-> 通过指针选择成员
++/– 后缀增量/减量
2. ++/– 前缀递增/递减 从右向左
+/- 一元加减
!~ 逻辑否定/位补码
(类型) 强制转换(将值转换为类型的临时值)
* 解引用
& (操作数的)地址
sizeof 确定此实现的大小(以字节为单位)
3. *,/,% 乘/除/模 从左到右
4. +/- 加减法 从左到右
5. << , >> 按位左移,按位右移 从左到右
6. < , <= 关系小于/小于或等于 从左到右
> , >= 关系大于/大于或等于 从左到右
7. == , != 关系等于/不等于 从左到右
8. & 按位与 从左到右
9 ^ 位异或 从左到右
10 | 按位包含或 从左到右
11 && 逻辑与 从左到右
12 || 逻辑或 从左到右
13 ?: 三元条件 从右向左
14 = 分配 从右向左
+= , -= 加减作业
*= , /= 乘法/除法赋值
%= , &= 模/位与赋值
^= , |= 按位独占/包含或赋值
<>= 按位左/右移位赋值
15 , 表达式分隔符 从左到右

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享