从零开始学习C++(十七.运算符)

215 阅读2分钟

「这是我参与2022首次更文挑战的第17天,活动详情查看:2022首次更文挑战

前言

前篇文章简单说了一下不一样的C++的输入和输出,今天再来看看C++中的运算符,在之前的代码中只有简单的加减元素福,还有其他的运算符需要强调一下。

运算符分类

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 位运算符
  • 赋值运算符
  • 其他运算符

算术运算符

算数运算符常见的有加减乘除,其符号分别为+,-,*,/
不常见的符号:

  • 取模求余:%
  • 自增运算符:++
  • 自增运算符:-- 原来自增自减运算符在C++这里就有了,我以为只有高级语言才有这些自增运算符

关系运算符

关系运算符都是比较简单的比较运算符:

  • 等于: ==
  • 不等于:!=
  • 大于:>
  • 小于:<
  • 大于等于: >=
  • 小于等于:<= 非常常见,用于代码逻辑中的判断

逻辑运算符

逻辑运算符和关系运算符一样非常常见:

  • &&: 和 (都为真时结果为真)
  • || :或 (有一个真就为真)
  • ! :非 (真转假,假转真)

位运算符

特别是在底层开发中这个非常重要,主要在对0和1两个二进制数进行计算:

  • & :与运算符 有0结果为0,都为1结果为1:
0&0=0;   0&1=0;    1&0=0;     1&1=1;
  • | :或运算符 有1结果为1,都为0结果为0:
0|0=0;   0|1=1;   1|0=1;    1|1=1;
  • ^:异或运算符:都为真结果为假,都为假结果为真,有真为真,
0^0=0;    0^1=1;    1^0=1;   1^1=0;
  • ~ 取反运算符 对二进制数每一位取反:1转0,0转1:
~0101=1010
  • >>二进制左移运算符 将一个二进制数的每个数位全部左移若干次,右边补零: 0100左移一位结果为1000
  • >>二进制右移运算符 将一个二进制数的每个数位全部左移若干次,正数左补0,负数左补1,右边丢弃: 0100右移一位结果为0010

赋值运算

常见的有=,+=,-=,*=,/=,%=
不常见的有<<=,>>=,&=,^=,!=,其分别表示的为:左移且赋值运算符,右移且赋值运算符,按位与且赋值运算符,按位异或且赋值运算符,按位或且赋值运算符。

其他运算符

常见的有:

  • sizeof,这个并不是内置方法,是一个运算符,用于计算返回变量内存占用大小
  • & 指针运算符,返回变量的地址
    • 指针运算符,指向一个变量
  • .->,用来访问类、结构体成员的功能

总结

常见的运算符总结完毕,基本的运算符都基本了解,也没有做代码演示。就是其中运算符中的位运算符需要注意,在其他的运算符中的sizeof注意是一个运算符,不是内置方法。