一、运算符分类
1、关系运算符:==(等号,=为赋值:把右边的值赋给左边) ,>, >=, < ,<= ,!=(不等于)。
2、逻辑运算符:&& ,||。
例:表达式1&&表达式2<==>表示且的意思,表达式1为真且表达式2为真才为真。
短路现象:如果表达式1为假,则不执行表达式2。
表达式1||表达式2<==>表示或的意思,只要其中一个表达式为真,就为真。
短路现象:如果表达式1为真,则不执行表达式2,整个表达式为1。
注:非0为真,0为假(但在数字表达中,1代表真)
3、算术运算符:+ , - ,*(乘法), / (除法,注意是整除,不能出现小数),%(求余数 结果取整) ,++, --。
注意区分前置++/--与后置++/--:
首先如果是单独使用,前置与后置的效果相同;其次如果与其他运算符混合使用,例如,b=a++类似的式子,则需要区分,
后置++/--:取a的值,再赋值,最后给值+/-1。(先赋值)
前置++/--:取a的值,先给值+/-1,再赋值。(后赋值)
4、位运算符:(针对二进制)
(1)、右移:>>需要除2
例如:10>>n 则需要连续除n个2
扩展:利用运算符的优先级优化(left+right)/2 <==>((right-left)>>1)+left
(2)、左移:<<需要乘2
例如:10<<n则需要连续乘n个2
(3)、&按位与
一方为0结果为0
(4)、|按位或
一方为1结果为1
(5)、^异或
两个位相同为0,不同为1
(6)、~取反
全部取反(0变1,1变0)
5、单目运算符:例:a++...
6、双目运算符:例:1+2,6*3...
二、语句基本类型
1、bool型:true、false.
2、int型(整型):4字节
3、char型(字符型):1字节
4、short型(短整型):2字节
5、long型(长整型):4字节
6、longlong型(超长整型):8字节
7、float型(单精度浮点型):4字节
8、double型(双精度浮点型):8字节
注:(类型)为强转。
三、运算符优先级
注:数字越小运算符级越优先
1、() <—> 提升优先级
2、逻辑非运算符!
按位取反运算符
++/-- ,自增自减运算符
类型转换(类型)
指针运算符*
取地址运算符&
长度运算符sizeof
3、算术运算符
4、位运算符(左移、右移)
5、关系运算符
6、按位与运算符&
7、按位异或^
8、按位或运算符|
9、逻辑运算符