在C语言学习中容易忽视知识点(3)

运算符

  • 运算符分为算术运算符 关系运算符 逻辑运算符 判断运算符等等,C语言中的运算符是非常多的,这篇文章着重讲解下算术运算符 ,赋值运算符和自增及自减运算符

算术运算符

  • 算术运算符分为一元运算符和二元运算符,一元运算符包括:+(数学中正负号的正)   -(数学中正负的负),它们代表一个数的正负。二元运算符包括:+(加法的加),-(减法的减);* , /(代表数学中除法的商值),%(运算的结果为被除了后的余数)。
  • 一元运算符代表只需要操作一个数,二元运算符代表操作两个数。
  • +   -   *   /    %这些运算符的结合性均为向左。一元运算符号中的+   - 则为右结合。 
  • 关于它们的优先性则为*  /  %的优先级高于+   -

赋值运算符

  • 关于赋值运算符的符合有 =  *=   -=  +=
  • 它们的结合性为右结合。
  • *=  -=  += 为复合赋值运算符,关于它们的规则:
#include <stdio.h>
int main()
{
    int a = 1;
    a += 3;//等价于a = a+3,其结果为4.
    a *= 3;//等价于a = a * 3,其结果为3.
    a -= 3;//等价于a = a - 3,其结果为-2.
}
  • 还有一点赋值运算符要求它的左操作数必须是左值,左值不能是常量或者是计算的结果,通常是变量。

自增运算符和自减运算符

  • ++  --分别代表的是自增运算符和自减运算符。
  • ++  --分为前置++ --,和后置++-- 两者所带来的效果都不一样:
    #include <stdio.h>
    int main()
    {
       int a = 2;
       ++a;//此时a的结果变为了3.
       a++;//此时a的结果任然为2.
       a = a;//此时a的结果才变为了3.
    }
    

    --是同样的道理。这是为什么呢?前置++或者--表示立即自增当前的变量,而后置++或者--表示的是先用旧的变量,稍后在自增这个旧的变量,这个稍后的时间差不多是到下一个语句时就行了。

  • ++  -- 的结合都是右结合的,且后缀的++--的优先级比一元运算符的+-还要高,前缀的++--的优先级和一元运算符的+-相同。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值