C运算符基础

2020-04-09  本文已影响0人  晓晓桑

赋值运算符

形式

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

用法

加减乘除之除法

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


image.png

优先级

image.png

自加、自减

常量不可自加。

后缀++(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;
}
上一篇 下一篇

猜你喜欢

热点阅读