C语言总结day02

这篇博客详细介绍了C语言中的各种运算符,包括算术运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符、移位运算符以及它们的优先级和结合方向。此外,还提到了强制类型转换符和sizeof运算符的使用。重点强调了运算符的优先级和类型转换规则在编程中的重要性。
摘要由CSDN通过智能技术生成

day02

1、运算符

  • 算术运算符
    • 单目运算符:+ 正;- 负;
    • 双目运算符:* / %(这三个同级) > + -(这两个同级)注意:前边三个的优先级大于后边的两个;
      • 双目运算符两边运算数的类型必须一致才能进行运算。所得结果的类型与运算数的类型一致。例如,表达式1.0/2.0的运算结果为0.5;表达式1/2的运算(整除)结果为0(因为是整型,会将运算结果强制转化)
      • 如某双目运算符两边运算数的类型不一致,如一边是整型数,一边是实型数时,系统会自动把整型转换为实型数,使运算符两边的类型达到一致后,再进行运算。
    • 算数运算符的优先级:() > 单目【+ 、-】 > 双目(【* / %】 【+ -】) 注:【】括号里是同级
    • 注意算术运算符的结合方向都是自左向右的。
  • 自增和自减运算符
    • 注意:该运算符只适合单个变量,不能用于表达式。例如:(x+y)++这种是非法的。
    • 结合方向自右向左
  • 赋值运算符
    • 结合方向自右向左
  • 关系运算符
    • < <= > >= == != (条件成立则真,结果为1;不成立时为假,结果为0)
    • 结合方向自左向右
  • 逻辑运算符
    • !(单目:自右向左) > (&& ||(双目:结合方向自左向右))
    • 例如:int a=!(1<2)||(2>5);这里将!!(1<2)||(2>5)的结果0(假)赋给a。
  • 逗号运算符
    • 返回第二个表达式的值。例如:c=(2a,2b)返回的是2*b的值。
    • 结合方向自左向右
  • 条件运算符
    • 三目运算符:? :
    • 对于c?e1:e2,若c为真,返回e1;若c为假,返回e2;
    • 结合方向:自右向左
  • 长度运算符
    • sizeof:注意这个是运算符,不是函数
    • 结合方向自右向左
  • 位运算符
    • ~(单目:结合方向自右向左) > (&(按位与) |(按位或) ^(按位异或(相同为0不同为1)) (双目:结合方向自左向右))
  • 移位运算符
    • <<(左移乘2) >>(右移除2)
    • 结合方向自左向右
  • 位复合赋值运算符
    • &= |= ^= <<= >>=
    • 结合方向自右向左
  • 强制类型转换符
    • (类型名)(表达式) 如(int)(x+y)
  • 总结
    • 初等运算符(() [] -> .) > 单目运算符 > 算术运算符(先乘除,后加减) > 关系运算符 > 逻辑运算符(不包括!) > 条件运算符 > 赋值运算符 > 逗号运算符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值