操作符的分类:
-
算术操作符:+ , -, * ,/ , %(模);
-
移位操作符:计算机当中位运算速度>±*/
>> (右移) :如右移最高位补符号位
<<(左移)
逻辑移位:指逻辑左移和逻辑右移,移出的空位用0来补
算数移位:分有符号数和无符号数,无符号数等同于逻辑移位;对于有符号数,左移等同于逻辑左移,算术右移补的是符号位,正数补0,负数补1 -
位操作:&(按位与),(按位异或),|(按位或)
-
赋值操作符:= , +=,*=,-+,/=,%=,……=,!=(都自动强制类型转化)
-
单目操作符:!,-,+,&,sizeof,~(对一个数的二进制按位取反),–,++,*(简接访问操作符)?
-
关系操作符:== ,>= , <=, != ,>,<
-
逻辑操作符:&&(短路与),|| (短路或) (&&如果前面为假不去管后面的,||如果前面为真不管后面的),对于逻辑运算来说,他只认识0和1
-
逗号表达式:表达1,表达2,……,表达n; 整个表达式是最后一个表达式
int a = (10,20,30,40); // a=40; -
下标引用,函数调用和结构成员:[],(),.,->;
-
隐式类型转换:c的整形算术运算总是至少以缺省整形类型的精度进行的。为了获取这个精度,表达式中的字符和短整形操作数在使用之前被转换为普通整形,这种转换称为整形提升。
只要参与运算整形提升:有符号数补符号数,无符号数补0 -
优先级常规规律:
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
操作符详解与优先级
本文全面解析了各种操作符的分类与应用,包括算术、移位、位、赋值、单目、关系和逻辑操作符。深入探讨了算数移位与逻辑移位的区别,以及逗号表达式的特性。同时,文章还详细介绍了类型转换和操作符的优先级规律。
676

被折叠的 条评论
为什么被折叠?



