操作符 分类:
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号操作符
下标引用、函数调用和结构成员
算术操作符
1.加、减、乘很简单,和平常数学中运算规则相同。
2.’/’(除)这个操作符需要注意的是:除的时候如果’/’两边只要有(一个或两个)浮点数,采用的是浮点型除法,若’/’两边都是整型,则采用的是整型除法。
3.’%’这个操作符两边的数只能是整数,它返回的是整除之后的余数
移位操作符
1.移位操作符作用的对象是一个数的补;
2.对于左移:左边抛弃,右边补0;
3.对于右移:右边抛弃,左边补原来的符号位(采用算术移位);
4.对于’>>’操作符,分为两种移位规则:一种逻辑移位,另一种是算术移位
a.逻辑移位规则是右边抛弃,左边最高位直接补0,不考虑之前数的符号位。
b.算术移位规则是右边抛弃,左边最高位补和之前数相同的符号位。而目前编译器通常采用的是算术移位规则。
5.但这里需要注意,对一个数移位操作完成后,当前的数不会改变的,除非把它赋值给另外一个变量。
int main()
{
int p=0,q=0,n=2;
p=n<<1;
printf("%d",p);
q=n>>1;
printf("%d",q);
}
此时输出的结果为:p=4,q=1;左移操作相当于给之前的数乘2,右移操作相当于给之前的数除2;
位操作符
1.同样这里位操作符作用的对象也是一个数的补码,对于’&’
2.对于’&’,补码对应位置的值都为1,结果为1,否则为0;对于’|’,补码对应位置有1,
3.它们三个的操作数必须为整数。
(未完待续)