运算符

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

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

算术运算符有:

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

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

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

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

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

    ++(递增):自增运算符,整数值增加 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 ||   ==>  从左到右 

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

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

        逗号:  ,  ==>  从左到右 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容