1.算术运算符
%:只能对整型变量进行求余操作。
++:对自己本身变量的值,进行+1操作。
a++:先用再加
++a:先加再用
注释:只能给变量++,不能给常量
2.赋值运算符
int a = 0;//这个叫初始化,定义变量的时候会开辟空间,第一次装入的值。
a = 10;//赋值操作,使用一个新值覆盖变量中的旧值。
左值:在赋值运算符左侧的。(变量)
右值:再赋值运算符右侧的。(常量,变量,表达式)
/赋值运算符在操作的过程中,要求左右两边类型一致或匹配。
赋值运算符如果左右类型不匹配,按一下方式处理:
(1)浮点数类型给整型,舍弃小数部分。
(2)整数类型给浮点类型,小数位扩展。
(3)左右两边内存空间大小一致,直接复制内存中的数据。
把内存小的向内存空间大的赋值,高位补充:
(1)原来数据无符号,高位补0,如果是负数补1.。
把内存空间大的储存到空间小的赋值操作。数据为的截断。(低位保留,高位截断)
+=,先求和,再赋值。
-=,先求差,再赋值。(*=,/=。%=)除数不能为0.
逗号运算符:使用,连接的式子。
最后输出的只有最后一个值!
sizeof:获得被操作对象的内存大小。获得大小后为unsigned long 类型printf("%lu\n",sizeof(int));
sizeof(int);
sizeof(a);
sizeof(1+1);
3.
3.优先级
括号》弹幕》双目》三木》赋值》逗号
算术运算符(+-*/)>移位运算符(左移,右移)>关系运算符 (><==)>位运算(与或非等操 作,二进制位)>逻辑运算符(与或非)
目数:指的是运算符需要的操作数的个数。
结合律:如果在表达式中,同等优先级的运算符,查看结合律,决定那边先计算。大部分都是自左向右。有三个式从右向左:单目,赋值运算符,三目运算符