美文网首页
C运算符基础

C运算符基础

作者: 晓晓桑 | 来源:发表于2020-04-09 10:07 被阅读0次

    赋值运算符

    形式

    a=2; //把2赋值给a,不是a等于2;(java只有一个=,c是=和==)

    用法
    • 一般赋值
      a=2;
    • 连续赋值
      a=b=2; //把2赋值给b,再把b的值赋值给a
      a=12=13;(错误的)
      左侧是目标类型,计算机会将数据转成一样的类型。

    加减乘除之除法

    取整:/ :分母不能为0
    取余(取模):% :必须是整数,浮点数不行。


    image.png

    优先级

    image.png

    自加、自减

    常量不可自加。

    后缀++(a++/a-- )和前缀++(++a/--a)区别
    • a++/a--优先级高于++a/--a
    • ++a/--a用自加前的值参与运算,运算完之后,自加
    • a++/a--用自加后的值参与运算
    int main(void) {
        int a = 13;
        int b = 13;
        a++;
        ++b;
        printf("%d,%d\n", a, b); //14,14
    
        int c = 13;
        int d = 13;
        int e = c++; //将13赋值给e,然后c自己+1
        int f = ++d; //d先自己+1=14,然后将14赋值给f
        printf("%d,%d,%d\n", c, e, c);//14,13,14 //获取e的值之前,c没有运算,c运算完成之后+1
        printf("%d,%d,%d", d, f, d); //14,14,14 //zou dao
        return 0;
    }
    
    int main(void) {
        int c = 13;
        printf("%d\n",c); //13
        printf("%d\n",c++);//13
        printf("%d",++c); //15
        return 0;
    }
    
    同一个变量的自加自减不能出现自同一条语句中两次以上,这样的话,不同的编译器得到的结果是不同的
    int main(void) {
        int a = 13;
        int b = a++ + --a + a++; //这个语句的变量a,出现自增自减3次,这样是不可以的。
        int b = a++ +a;//尽量避免这种写法
     printf("%d", b);
        return 0;
    }
    

    复合运算符

    int main(void) {
        int a = 13;
    
        a = a + 3;
        a += 3;
    
        a = a - 3;
        a -= 3;
    
        a = a * 3;
        a *= 3;
    
        a = a / 3;
        a /= 3;
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:C运算符基础

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