zoukankan      html  css  js  c++  java
  • 算术运算符和算术表达式(优先级,结合性等)

    %  得到余数  7 % 2 得到1

    运算符的优先级

    C语言中,运算符的运算优先级共分为15级。1级最高, 15级最低。在表达式中, 优先级较高

    的先于优先级较低的进行晕死。而在一个运算量两侧的运算符优先级相同时, 则按运算符的

    结合性所规定的结合方向处理。

    运算符的结合性

    c语言中各运算符的结合性分为两种, 即左结合性(自左至右)和右结合性(自右至左)。

    例如:

    左结合性:

    算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”结合,执行
    
    x-y,在+z的yuns。这种是左结合性。

    右结合性:

    例如:

    最典型的右结合性运算符是赋值运算符。如x=y=z, 由于=的右结合性, 应先执行y=z, 
    
    在执行x=, 可以理解为x=(y=z)的运算。

    c语言运算符中有不少为右结合性, 应注意区别,避免理解错误。

    自增、自减运算符

    自增1:自增1运算符记为++, 其功能是使变量的值自增1

    自减1:自减1运算符记为--, 其功能是使变量值自减1.

    自增1, 自减1运算符均为单目运算, 都具有右结合性。可有一下几种形式:

    ++i       i自增1后在参加其他运算。
    --i          i自减后在参与其他运算
    i++         i参与运算后, i的值在自增1
    i--            i参与运算后, i的值在自减1
    void main()
    {
        int i, j;
        i = 5;
        j = i++;
        printf("%d, %d", i, j); #注意, 如果是-i++ 呢?结果是-6
    }

    // i 的值为6, j 为5

    增加难度

    思路:

     i = 5, 然后i++ , 在i-- 这时候i是5, 然后-i 也就是-5 -- 也就是-6了 

     逗号运算符和逗号表达式

    在c语言中逗号“,”也是一种运算符, 称为逗号运算符。其功能是把两个表达式连接起来组成

    一个表达式, 成为逗号表达式。

    其一般形式为:

    表达式1, 表达式2

    其求值过程是分别求两个表示式的值, 并以表达式2的值作为整个逗号表达式的值。

    注意了,而实际得到的是表达式1的值

    那么怎么才能得到第二个值呢?在外面加个括号

  • 相关阅读:
    bzoj1663: [Usaco2006 Open]赶集
    bzoj1662: [Usaco2006 Nov]Round Numbers 圆环数
    [bzoj3771]Triple
    [bzoj1477]青蛙的约会
    [bzoj2299][HAOI2011]向量
    [2017.4.7校内训练赛by hzwer]
    [bzoj2456]mode
    [bzoj2120]数颜色
    [bzoj3668][Noi2014]起床困难综合症/[洛谷3613]睡觉困难综合症
    [4.6校内训练赛]
  • 原文地址:https://www.cnblogs.com/renfanzi/p/6528433.html
Copyright © 2011-2022 走看看