运算符与表达式
目录
运算符
左值与右值
-
左值:一般是变量
-
右值:可以为常量或变量
int iNum; iNum = 0;
优先级
-
算法(怎么去算)
结合性(读法)
iNum=1; //把1赋值给iNum
基本运算符
赋值运算符(=)
-
赋值运算符最终的值是变量的值
int iNum=0; iNum=123;
算术运算符(+ - * / %)
-
(/) 除法取整
float fNum=4/3; printf("%f\n",fNum);
-
(%)取余,余数正负只与被取余数有关
printf("%d\n", 2 % 3); printf("%d\n", -2 % 3); printf("%d\n", -4 % 3);
位运算符(>> <<)
-
都是以二进制形式操作
-
(>>)右移:右移n位 (正数左边加n个零)( 负数加n个一)
int iNum=0x00ffeedd; printf("%x\n",iNum>>8); //0x0000ffee
-
(<<)左移: 左移n位 (右边加n个0)
printf("%x\n",iNum<<8) //0xffeedd00
-
位与(&)
printf("%d\n",2&3);
-
位或(|)
printf("%d\n",2|3);
-
按位取反(~)[0变1 1变0]
printf("%d\n",~1);
复合赋值运算符
-
+= -= /= *= &= |=
-
默认把复合赋值运算符右边部分当作一个整体
int num&