
- 算术运算符:用于进行算术运算,包括加、减、乘、除、取余等。
运算符 |
描述 |
举例 |
+ |
加法运算符,用于两个操作数相加 |
a + b = 15 |
- |
减法运算符,用于从一个操作数中减去另一个操作数 |
a - b = -5 |
* |
乘法运算符,用于两个操作数相乘 |
a * b = 50 |
/ |
除法运算符,用于将一个操作数除以另一个操作数 |
b / a = 2 |
% |
取余运算符,用于对两个操作数取模 |
b % a = 0 |
++ |
自增运算符,用于将操作数的值加1 |
++a 表示a的值加1 |
– |
自减运算符,用于将操作数的值减1 |
–a 表示a的值减1 |
- 关系运算符:用于比较两个值的大小,结果为真或假。
运算符 |
描述 |
举例 |
== |
检查两个操作数是否相等,如果相等则条件为真 |
(a == b)为假 |
!= |
检查两个操作数是否不相等,如果不相等则条件为真 |
(a != b)为真 |
> |
检查左边操作数是否大于右边操作数,如果是,则条件为真 |
(a > b)为假 |
< |
检查左边操作数是否小于右边操作数,如果是,则条件为真 |
(a < b)为真 |
>= |
检查左边操作数是否大于或等于右边操作数,如果是,则条件为真 |
(a >= b)为假 |
<= |
检查左边操作数是否小于或等于右边操作数,如果是,则条件为真 |
(a <= b)为真 |
- 逻辑运算符:用于对两个或以上的条件进行逻辑运算,结果为真或假。
运算符 |
描述 |
举例 |
&& |
逻辑与运算符,如果两个操作数都非零,则条件为真 |
(a && b)为假,因为a为零 |
|| |
逻辑或运算符,如果两个操作数中有任意一个非零,则条件为真 |
(a || b)为真,因为b为非零 |
! |
逻辑非运算符,用于反转操作数的逻辑状态 |
!(a && b)为真,因为a && b为假,则!(a && b)为真 |
- 位运算符:用于对二进制数据进行位操作,可以实现移位、按位与、按位或、按位异或等运算。
运算符 |
描述 |
举例 |
& |
按位与运算符,对二进制数进行与运算 |
a & b = 12,二进制数1100 & 1010 = 1000 |
| |
按位或运算符,对二进制数进行或运算 |
a | b = 15,二进制数1100 | 1010 = 1111 |
^ |
按位异或运算符,对二进制数进行异或运算 |
a ^ b = 3,二进制数1100 ^ 1010 = 0010 |
~ |
按位取反运算符,将操作数的二进制位取反 |
~a = -61,(~1100 = 0011)补码 = -0011 |
<< |
左移运算符,将操作数的二进制位向左移动指定位数 |
a << 2 = 48,二进制数1100 << 2 = 110000 |
>> |
右移运算符,将操作数的二进制位向右移动指定位数 |
a >> 2 = 3,二进制数1100 >> 2 = 11 |
- 赋值运算符:用于将一个值赋给另一个变量。
运算符 |
描述 |
举例 |
= |
简单的赋值运算符 |
C = A + B |
+= |
加和赋值运算符 |
C += A |
-= |
减和赋值运算符 |
C -= A |
*= |
乘和赋值运算符 |
C *= A |
/= |
除和赋值运算符 |
C /= A |
%= |
模和赋值运算符 |
C %= A |
<<= |
左移和赋值运算符 |
C <<= 2 |
>>= |
右移和赋值运算符 |
C >>= 2 |
&= |
按位与和赋值运算符 |
C &= 2 |
^= |
按位异或和赋值运算符 |
C ^= 2 |
|= |
按位或和赋值运算符 |
C | = 2 |
以下是一些示例:
int a = 21;
int b = 10;
int c;c = a + b;
c = a - b;
c = a * b;
c = a / b;
c = a % b;
c = ++a;
c = --b; if(a == b) {...}
if(a != b) {...}
if(a > b) {...}
if(a < b) {...}
if(a >= b) {...}
if(a <= b) {...} int x = 5;
int y = 8;
if(x && y) {...}
if(x || y){...}
if(!(x && y)) {...} unsigned int a = 0x5a5a5a5a;
unsigned int b = 0xa5a5a5a5;
unsigned int c = a & b;
unsigned int d = a | b;
unsigned int e = a ^ b;
unsigned int f = ~a;
unsigned int g = a << 2;
unsigned int h = a >> 2; int i = 10;
int j = 5;
i += j;
i -= j;
i *= j;
i /= j;
i %= j; unsigned int k = 0x5a;
k <<= 2;