C++运算符
前言
这一节我们将学习运算符的的相关知识,可能会涉及到一些C++的基本语法以及C++变量类型、C++变量作用域、C++常量等的相关知识,如果你还有不明白的,请到C++基本语法和C++变量类型、C++变量作用域、C++常量这里温故一下
C++运算符
在C++编程中,运算符就像是数学中的加减乘除符号,它们告诉计算机执行特定的操作。C++提供了很多这样的符号,我们可以将它们分为几大类:
算术运算符:就像我们在数学课上学的那样,用来做加法(+)、减法(-)、乘法(*)、除法(/)等计算的符号。
关系运算符:这些符号用来比较两个值,比如看一个值是否大于(>)、小于(<)、等于(==)另一个值。
逻辑运算符:这些符号用来处理真(true)或假(false)的情况,比如“并且”(&&)表示两个条件都必须为真,结果才为真;“或者”(||)表示只要有一个条件为真,结果就为真。
位运算符:这些符号在二进制层面上操作数据,比如将两个数的二进制表示进行“与”(&)、“或”(|)操作。
赋值运算符:这个符号(=)用来给变量赋值,比如将一个值赋给一个变量。
杂项运算符:还有一些其他的符号,比如访问对象成员的点(.)运算符,或者取地址的与(&)运算符。
接下来的内容会详细解释这些运算符是如何工作的,帮助你更好地理解如何在C++中使用它们。简而言之,运算符就是编程语言中的“动词”,它们告诉计算机要执行什么样的操作。
在学习 C++ 编程时,我们经常需要使用各种运算符来进行计算和逻辑判断。下面,我们来解释一下这些常见的运算符。
算术运算符
这些运算符用于基本的数学计算,就像我们日常生活中的加减乘除。
+加号:把两个数相加。例子:
A + B,如果A是 10,B是 20,那么结果是 30。-减号:从第一个数中减去第二个数。例子:
A - B,结果是 -10。*乘号:把两个数相乘。例子:
A * B,结果是 200。/除号:用第一个数除以第二个数。例子:
B / A,结果是 2。%取模:求两个整数相除的余数。例子:
B % A,结果是 0。++自增:把变量的值增加 1。例子:
A++,如果A原本是 10,执行后变为 11。--自减:把变量的值减少 1。例子:
A--,执行后A变为 9。
示例程序:
1 |
|
关系运算符
这些运算符用于比较两个值之间的大小关系,结果是 真(true) 或 假(false)。
==等于:判断两个值是否相等。例子:
A == B,如果A是 10,B是 20,结果为 false。!=不等于:判断两个值是否不相等。例子:
A != B,结果为 true。>大于:判断左边的值是否大于右边的值。例子:
A > B,结果为 false。<小于:判断左边的值是否小于右边的值。例子:
A < B,结果为 true。>=大于等于:判断左边的值是否大于或等于右边的值。<=小于等于:判断左边的值是否小于或等于右边的值。
示例程序:
1 |
|
逻辑运算符
这些运算符用于连接多个条件,形成更复杂的逻辑判断。
&&逻辑与:当 两个条件都为真,结果才为真。例子:
(A && B),只有当A和B都为真,结果才为 true。||逻辑或:当 至少一个条件为真,结果为真。例子:
(A || B),只要A或B其中一个为真,结果就是 true。!逻辑非:对条件取反,真变假,假变真。例子:
!(A && B),如果(A && B)为真,取反后结果为 false。
示例程序:
1 |
|
位运算符
位运算符用于直接操作二进制位,常用于底层编程或性能优化。
&按位与:对应位都为 1,结果才为 1。|按位或:对应位只要有一个为 1,结果就是 1。^按位异或:对应位不同,结果为 1,相同为 0。~按位取反:把每一位都取反,0 变 1,1 变 0。<<左移:把二进制位向左移动,右边补 0。>>右移:把二进制位向右移动,左边根据符号位补 0 或 1。
示例程序:
1 |
|
赋值运算符
这些运算符用于给变量赋值,并可以结合其他操作。
=赋值:把右边的值赋给左边的变量。例子:
c = a + b。+=加且赋值:c += a等同于c = c + a。-=减且赋值:c -= a等同于c = c - a。*=乘且赋值:c *= a等同于c = c * a。/=除且赋值:c /= a等同于c = c / a。%=取模且赋值:c %= a等同于c = c % a。<<=左移且赋值:c <<= 2等同于c = c << 2。>>=右移且赋值:c >>= 2等同于c = c >> 2。&=按位与且赋值:c &= 2等同于c = c & 2。^=按位异或且赋值:c ^= 2等同于c = c ^ 2。|=按位或且赋值:c |= 2等同于c = c | 2。
示例程序:
1 |
|
其他运算符
sizeof求大小:返回数据类型或变量所占的字节数。例子:
sizeof(int)返回 4。?:条件运算符(三目运算符):根据条件返回不同的值。例子:
int max = (a > b) ? a : b;,如果a > b为真,max等于a,否则等于b。,逗号运算符:可以在一行中执行多个表达式,返回最后一个表达式的值。.和->成员访问运算符:用于访问对象或指针的成员。例子:
object.member,pointer->member。(type)类型转换:将一个值转换为指定的类型。例子:
int x = (int)3.14;,x的值为 3。&取地址运算符:获取变量的内存地址。例子:
int *p = &a;,p指向a的地址。*指针解引用运算符:访问指针所指向的变量的值。例子:
int value = *p;,value等于p所指向的变量的值。








