C语言运算符_03

C语言运算符_03

·运算符的优先级:C语言中,运算符的优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在同一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。

优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是 单目运算符条件运算符赋值运算符
基本的优先级需要记住:
指针最优,单目运算优于双目运算。如正负号。
先乘除(模),后加减。
先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))&7.
逻辑运算最后计算。
 
自增自减运算符:
自增1运算符:“++”,其功能是使变量的值自增1;
自减1运算符:“--”,其功能是是变量的值自减1;
自增1、自减1运算符均为单目运算符,都具有右结合性(自右往左)。
有以下几种形式:
++a  a自增1后再参与其他运算;
--a    a自减1后再参与其他运算;
a++  a参与其他运算后,再自增1;
a--    a参与其他运算后,再自减1;
1 // 例如:
2     int a, b;
3     a = 5;
4     b = a ++;
5     printf("b1 = %d\n", b);
6     b = ++ a;
7     printf("b2 = %d\n", b);

打印结果:b1 = 5     b2 = 7

复合的赋值运算符:在赋值运算符“=”之前加上其他二目运算符可构成复合赋值符。如:+=、-=、*=、/=、%=、<<=、>>=、&=、^=、!=。
例如:a += 5;    等价于 a = a + 5;
     x *= y + 7;  等价于 x = x * (y + 7);
     r %= p;    等价于 r = r % p;
复合赋值符这种写法,对初学者可能不习惯,但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码。
 
  版权声明: 本文由 【kingdev】  原创出品,欢迎转载,转载时请注明出处!
posted @ 2016-03-02 13:40 Kingdev 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值