C / C++ 中的运算符

简介: 运算符是任何编程语言的基础。因此,如果不使用运算符,C/C++ 编程语言的功能是不完整的。我们可以将运算符定义为帮助我们对操作数执行特定数学和逻辑计算的符号。换句话说,我们可以说操作符操作操作数。

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。


运算符是任何编程语言的基础。因此,如果不使用运算符,C/C++ 编程语言的功能是不完整的。我们可以将运算符定义为帮助我们对操作数执行特定数学和逻辑计算的符号。换句话说,我们可以说操作符操作操作数。

 

例如,考虑以下语句:

c = a + b;
复制代码


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


C/C++ 有很多内置的运算符类型,它们的分类如下:


  1. 算术运算符:这些是用于对操作数执行算术/数学运算的运算符。示例:(+、-、*、/、%、++、–)。算术运算符有两种类型:

  1. 一元运算符:操作或使用单个操作数的运算符是一元运算符。例如: (++ , –)

  2. 二元运算符:操作或使用两个操作数的运算符是二元运算符。例如: (+ , – , * , /)

  1. 关系运算符:它们用于比较两个操作数的值。例如,检查一个操作数是否等于另一个操作数,一个操作数是否大于另一个操作数等等。一些关系运算符是 (==, >= , <= )。

  2. 逻辑运算符:逻辑运算符用于组合两个或多个条件/约束或补充考虑的原始条件的评估。逻辑运算符的运算结果是一个布尔值,真或假。例如,当考虑的两个条件都满足时,在 C 或 C++ 中表示为 “&&”运算符逻辑 AND将返回 true。否则返回false。因此,当 a 和 b 都为真(即非零)时, a && b 返回真。

  3. 位运算符:位运算符用于对操作数执行位级操作。首先将运算符转换为位级,然后对操作数执行计算。加、减、乘等数学运算可以在位级执行,以加快处理速度。例如,
  4. 在 C 或 C++ 中表示为 & 运算符按位 AND将两个数字作为操作数,并对两个数字的每一位执行 AND。仅当两个位都为 1 时,AND 的结果才为 1。

  5. 赋值运算符:赋值运算符用于为变量赋值。赋值运算符的左侧操作数是变量,赋值运算符的右侧操作数是值。右侧的值必须与左侧的变量具有相同的数据类型,否则编译器将引发错误。 不同类型的赋值运算符如下所示:
  1. “=” :这是最简单的赋值运算符。此运算符用于将右侧的值分配给左侧的变量。
    例如:
a = 10;
b = 20;
ch = 'y';
复制代码

 

2.  “+=” :此运算符是 '+' 和 '=' 运算符的组合。此运算符首先将左侧变量的当前值与右侧值相加,然后将结果赋给左侧变量。


例子:

(a += b) 可以写成 (a = a + b)
复制代码

  1. 如果最初存储在 a 中的值为 5。那么 (a += 6) = 11。

  2. “-=” :该运算符是“-”和“=”运算符的组合。此运算符首先从左侧变量的当前值中减去右侧的值,然后将结果赋给左侧的变量。 \

例子:

(a -= b) 可以写成 (a = a - b)
复制代码

  1. 如果最初存储在 a 中的值为 8。则 (a -= 6) = 2。

  2. “*=” :此运算符是 '*' 和 '=' 运算符的组合。该运算符首先将左边变量的当前值乘以右边的值,然后将结果赋给左边的变量。

  3. 例子:
(a *= b) 可以写成 (a = a * b)
复制代码

  1. 如果存储在 a 中的初始值为 5。则 (a *= 6) = 30。

  2. “/=” :此运算符是 '/' 和 '=' 运算符的组合。该运算符首先将左边变量的当前值除
  3. 以右边的值,然后将结果赋给左边的变量。

  4. 例子:
(a /= b) 可以写成 (a = a / b)
复制代码

  1. 如果最初存储在 a 中的值为 6。则 (a /= 2) = 3。

  2. 其他运算符:除了上述运算符,C 或 C++ 中还有一些其他运算符可用于执行某些特定任务。其中一些在这里讨论:

  1. sizeof 运算符:sizeof 是 C/C++ 编程语言中经常使用的一种。它是一个编译时一元运算符,可用于计算其操作数的大小。sizeof 的结果是无符号整数类型,通常用 size_t 表示。基本上,sizeof 运算符用于计算变量的大小。要详细了解 sizeof 运算符,您可以访问此链接。

  2. 逗号运算符:逗号运算符(由标记 , 表示)是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回此值(和类型)。逗号运算符在所有 C 运算符中的优先级最低。逗号充当运算符和分隔符。要详细了解逗号,请访问此链接。

  3. 条件运算符:条件运算符的形式为Expression1 ? 表达式2:表达式3。这里,Expression1 是要评估的条件。如果条件(Expression1) 为真,那么我们将执行并返回表达式2 的结果,否则如果条件(表达式1) 为假,那么我们将执行并返回表达式3 的结果。我们可以用条件运算符代替 if..else 语句的使用。要详细了解条件运算符,请访问此链接。

运算符优先级图表


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

34.png35.png

36.png

 



目录
相关文章
|
2天前
|
C++
C++类自加自减与<<运算符的重载实现
C++类自加自减与<<运算符的重载实现
|
2天前
|
C++
|
2天前
|
存储 C++
C++系列六:运算符
C++系列六:运算符
|
2天前
|
C++
在C++语言中赋值运算符
在C++语言中赋值运算符
14 0
|
2天前
|
编译器 C++
c++重载函数和重载运算符
c++重载函数和重载运算符
20 0
|
2天前
|
C++
c++运算符的优先级
c++运算符的优先级
20 0
|
2天前
|
存储 算法 编译器
【C++ 内存管理 重载new/delete 运算符 新特性】深入探索C++14 新的/删除的省略(new/delete elision)的原理与应用
【C++ 内存管理 重载new/delete 运算符 新特性】深入探索C++14 新的/删除的省略(new/delete elision)的原理与应用
63 0
|
2天前
|
算法 C++ 开发者
【C++运算符重载】深入理解C++中的流运算符 >>和<<重载
【C++运算符重载】深入理解C++中的流运算符 >>和<<重载
40 0
|
2天前
|
C++ 编译器
|
2天前
|
存储 C++
C++从入门到精通:1.1.3基础语法之运算符
C++从入门到精通:1.1.3基础语法之运算符