c语言之操作符

本文全面解析了各种操作符的分类与应用,包括算术、移位、位、赋值、单目、关系和逻辑操作符。深入探讨了算数移位与逻辑移位的区别,以及逗号表达式的特性。同时,文章还详细介绍了类型转换和操作符的优先级规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作符的分类:

  1. 算术操作符:+ , -, * ,/ , %(模);

  2. 移位操作符:计算机当中位运算速度>±*/
    >> (右移) :如右移最高位补符号位
    <<(左移)
    逻辑移位:指逻辑左移和逻辑右移,移出的空位用0来补
    算数移位:分有符号数和无符号数,无符号数等同于逻辑移位;对于有符号数,左移等同于逻辑左移,算术右移补的是符号位,正数补0,负数补1

  3. 位操作:&(按位与),(按位异或),|(按位或)

  4. 赋值操作符:= , +=,*=,-+,/=,%=,……=,!=(都自动强制类型转化)

  5. 单目操作符:!,-,+,&,sizeof,~(对一个数的二进制按位取反),–,++,*(简接访问操作符)?

  6. 关系操作符:== ,>= , <=, != ,>,<

  7. 逻辑操作符:&&(短路与),|| (短路或) (&&如果前面为假不去管后面的,||如果前面为真不管后面的),对于逻辑运算来说,他只认识0和1

  8. 逗号表达式:表达1,表达2,……,表达n; 整个表达式是最后一个表达式
    int a = (10,20,30,40); // a=40;

  9. 下标引用,函数调用和结构成员:[],(),.,->;

  10. 隐式类型转换:c的整形算术运算总是至少以缺省整形类型的精度进行的。为了获取这个精度,表达式中的字符和短整形操作数在使用之前被转换为普通整形,这种转换称为整形提升。
    只要参与运算整形提升:有符号数补符号数,无符号数补0

  11. 优先级常规规律
    同一优先级的运算符,运算次序由结合方向所决定。
    简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值