运算符

作者: 慢慢羊的快发明 | 来源:发表于2019-11-05 11:56 被阅读0次

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。

    运算符分为:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。

    算术运算符有:

        +(加):把两个操作数相加

         -(减):从第一个操作数中减去第二个操作数

        *(乘法):把两个操作数相乘

        /(除法):分子除以分母

        %(取模):取模运算符,整除后的余数

        ++(递增):自增运算符,整数值增加 1 

        --(递减):自减运算符,整数值减少 1

    说明: c = a++ 或者 c = a--; 先赋值后运算; c = ++a或者 c = --a;先运算后赋值

    关系运算符:

        等于(==):检查两个操作数的值是否相等,如果相等则条件为真。(A == B) 为假。

        不等于(!=):检查两个操作数的值是否相等,如果不相等则条件为真。(A != B) 为真。

        大于(>):检查左操作数的值是否大于右操作数的值,如果是则条件为真。(A > B) 为假。

        小于(<):检查左操作数的值是否小于右操作数的值,如果是则条件为真。(A < B) 为真。

        大于等于(>=):检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。

                                    (A >= B) 为假。

        小于等于(<=):检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。(A <= B) 为真。

    辑运算符:

        逻辑或(||):如果两个操作数中有任意一个非零,则条件为真。(A && B) 为假。

        逻辑非(!): 用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。(A || B) 为真。

        逻辑与(&&): 如果两个操作数都非零,则条件为真。!(A && B) 为真。

    位运算符:

    位运算符作用于位,并逐位执行操作,分别有:

        &(按位与运算符): 按二进制位进行"与"运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;

         | (按位或运算符): 按二进制位进行"或"运算。运算规则:0|0=0;  0|1=1;  1|0=1;    1|1=1;

         ^ (异或运算符): 按二进制位进行"异或"运算。运算规则:0^0=0;  0^1=1;  1^0=1;  1^1=0;

        ~(取反运算符): 按二进制位进行"取反"运算。运算规则:~1=0;  ~0=1;

        <<(二进制左移运算符): 将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。

                                                    A=60,A << 2 将得到 240,即为 1111 0000

        <<(二进制右移运算符): 将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

                                                    A >> 2 将得到 15,即为 0000 1111

    假如p = 0, q=0,p&q=0,p|q=0,p^q=0;

    假如p = 0, q=1,p&q=0,p|q=1,p^q=1;

    假如p =1, q=1,p&q=1,p|q=1,p^q=0;

    假如p =1, q=0,p&q=0,p|q=1,p^q=1;

    赋值运算符

            =(简单的赋值运算符):把右边操作数的值赋给左边操作数,C = A + B 将把 A + B 的值赋给 C

            +=(加且赋值运算符):把右边操作数加上左边操作数的结果赋值给左边操作数,C += A 相当于 C = C + A

            -=(减且赋值运算符):把左边操作数减去右边操作数的结果赋值给左边操作数,C -= A 相当于 C = C -+ A

            *=(乘且赋值运算符):把右边操作数乘以左边操作数的结果赋值给左边操作数,C*= A 相当于 C = C *A

            /=(除且赋值运算符):把左边操作数除以右边操作数的结果赋值给左边操作数,C /= A 相当于 C = C / A

            %=(取模且赋值运算符):求两个操作数的模赋值给左边操作数,C %= A 相当于 C = C % A

            <<=(左移且赋值运算符):C <<= 2 等同于 C = C << 2

            >>=(右移且赋值运算符):C >>= 2 等同于 C = C >> 2

            &=(按位与且赋值运算符):C &= 2 等同于 C = C & 2

            |=(按位或且赋值运算符):C |= 2 等同于 C = C | 2

            ^=(按位异或且赋值运算符):C ^= 2 等同于 C = C ^ 2

    其他运算符

            sizeof() : 返回变量的大小。eg: sizeof(a) 将返回 4,其中 a 是整数。

            & : 返回变量的内存地址。eg: &a; 将给出变量的实际地址。

            * : 指向一个变量。eg: *a; 将指向一个变量。

            ? : 条件表达式,如果条件为真 ? 则值为 X : 否则值为 Y

    C 中的运算符优先级

            后缀 :  () [] -> . ++ - -   ==> 从左到右 

            一元:  + - ! ~ ++ - - (type)* & sizeof  ==>  从右到左 

            乘除:  * / %   ==>  从左到右 

            加减 : + -  ==>  从左到右 

            移位:  << >>   ==> 从左到右 

            关系:  < <= > >=   ==> 从左到右 

            相等:  == !=   ==>  从左到右 

            位与:  AND &   ==>  从左到右 

            位异或:  XOR ^ ==>   从左到右 

            位或:  OR |  ==>  从左到右 

            逻辑与:  AND &&   ==> 从左到右 

            逻辑或:  OR ||   ==>  从左到右 

            条件:  ?:   ==> 从右到左 

            赋值:  = += -= *= /= %=>>= <<= &= ^= |=   ==>  从右到左 

            逗号:  ,  ==>  从左到右 

    相关文章

      网友评论

          本文标题:运算符

          本文链接:https://www.haomeiwen.com/subject/jussbctx.html