浅谈C++中的各种运算符

C++自学整理_03


一. 总结

不多bibi,一口气总结在C++中的所有运算符。

二. 算术运算符

假设此处变量A的值为10,变量B的值为5

运算符描述实例
+前后两数相加A + B 得到 15
-前后两数相减A - B 得到 5
*前后两数相乘A * B 得到 50
/前后两数相除A / B 得到 2; 但 10 / 4 也会得到 2,而非 2.5, 解决办法:10.0 / 2 得到 2.5
%除余A % B 得到0
++自增运算符A++ 得到 11
- -自减运算符A- - 得到 9
三. 关系运算符

假设此处变量A的值为10,变量B的值为5 (变量也可为字符串等其他数据类型)

运算符描述实例
==检查前后两个变量是否相等,相等返回 true , 不相等返回 false( A == B) 得到 假
!=检查前后两个变量是否相等,不相等返回 true , 相等返回 false(A != B)得到 真
>检查左边变量是否大于右边变量 ,大于返回true ,不大于返回 false(A > B) 得到 真
<检查右边变量是否大于左边变量 ,大于返回true,不大于返回 false(A < B) 得到 假
>=检查左边变量是否大于等于右边变量 ,大于等于返回true ,不大于等于返回 false(A >= B)得到 真
<=检查左边变量是否小于等于右边变量 ,小于等于返回true ,不小于等于返回 false(A<=B)得到 假
四. 逻辑运算符

假设此处变量A的值为1 此处代表true,变量B的值为0 此处代表false(变量可以为各种适用条件)

运算符描述实例
&&如果前后两个操作均为true,则条件为true(A && B) 得到 false
||如果前后两个操作中任意一个为true,则条件为true(A||B) 得到 true
!用来逆转操作的逻辑状态,如果条件为true则逆转为false,反之为true! (A && B) 得到 false
五. 位运算符
pqp & q (与)p | q (或)p ^ q (异或,前后不同true)~(p ^ q) (同或,前后相同true)~p (取反)~q (取反)
00000111
01011000
11110100
10011011

代码演示:

#include <iostream>
using namespace std;
 
int main()
{
   unsigned int a = 60;      // 60 = 0011 1100  
   unsigned int b = 13;      // 13 = 0000 1101
   int c = 0;           
 
   c = a & b;             // 12 = 0000 1100
   cout << "Line 1 - c 的值是 " << c << endl ;
 
   c = a | b;             // 61 = 0011 1101
   cout << "Line 2 - c 的值是 " << c << endl ;
 
   c = a ^ b;             // 49 = 0011 0001
   cout << "Line 3 - c 的值是 " << c << endl ;
 
   c = ~a;                // -61 = 1100 0011
   cout << "Line 4 - c 的值是 " << c << endl ;
 
   c = a << 2;            // 240 = 1111 0000
   cout << "Line 5 - c 的值是 " << c << endl ;
 
   c = a >> 2;            // 15 = 0000 1111
   cout << "Line 6 - c 的值是 " << c << endl ;
 
   return 0;
}

/*
运算结果
Line 1 - c 的值是 12
Line 2 - c 的值是 61
Line 3 - c 的值是 49
Line 4 - c 的值是 -61
Line 5 - c 的值是 240
Line 6 - c 的值是 15
*/
五. 赋值运算符
运算符描述实例
=简单的赋值运算符,把右边操作数的值赋给左边操作数C = A + B 将把 A + B 的值赋给 C
+=加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边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

代码演示:

#include <iostream>
using namespace std;
 
int main()
{
   int a = 21;
   int c ;
 
   c =  a;
   cout << "Line 1 - =  运算符实例,c 的值 = : " <<c<< endl ;
 
   c +=  a;
   cout << "Line 2 - += 运算符实例,c 的值 = : " <<c<< endl ;
 
   c -=  a;
   cout << "Line 3 - -= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c *=  a;
   cout << "Line 4 - *= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c /=  a;
   cout << "Line 5 - /= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c  = 200;
   c %=  a;
   cout << "Line 6 - %= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c <<=  2;
   cout << "Line 7 - <<= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c >>=  2;
   cout << "Line 8 - >>= 运算符实例,c 的值 = : " <<c<< endl ;
 ![请添加图片描述](https://img-blog.csdnimg.cn/d34bec7304ea4f7c934e117bfce2d8eb.PNG)

   c &=  2;
   cout << "Line 9 - &= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c ^=  2;
   cout << "Line 10 - ^= 运算符实例,c 的值 = : " <<c<< endl ;
 
   c |=  2;
   cout << "Line 11 - |= 运算符实例,c 的值 = : " <<c<< endl ;
 
   return 0;
}

/*
运算结果
Line 1 - =  运算符实例,c 的值 = 21
Line 2 - += 运算符实例,c 的值 = 42
Line 3 - -= 运算符实例,c 的值 = 21
Line 4 - *= 运算符实例,c 的值 = 441
Line 5 - /= 运算符实例,c 的值 = 21
Line 6 - %= 运算符实例,c 的值 = 11
Line 7 - <<= 运算符实例,c 的值 = 44
Line 8 - >>= 运算符实例,c 的值 = 11
Line 9 - &= 运算符实例,c 的值 = 2
Line 10 - ^= 运算符实例,c 的值 = 0
Line 11 - |= 运算符实例,c 的值 = 2
*/
六. 各种运算符的优先级

bydemo

参考:菜鸟教程之C++运算符:https://www.runoob.com/cplusplus/cpp-operators.html

如有问题,敬请指正。欢迎转载,但请注明出处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值