C语言操作符:
(1)算数操作符
+ — * / %
1)“%”操作符只能作用于整数,返回的是整除之后的余数。其他几个操作符可以作用于整数和浮点数
2)对于“/”操作符,如果两个数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法
(2)移位操作符
<< 左移操作符
移位原则:左边抛弃,右边补0
>>右移操作符
移位原则:1.逻辑移位,左边用0填充,右边丢弃
2.算数移位,左边用原该值的符号位填充,右边丢弃
警告:对于移位运算符,不要移动负数位,这个是标准未定义的。
eg: ` int num=10;
num>> —1; //error`
(3)位操作符
& //按位与
| //按位或
^ //按位异或
注:它们的操作数必须是整数
(4)赋值操作符
它可以让你得到一个你之前不满意的值,也就是你自己可以重新赋值
赋值操作符可以连续使用,比如:
int a=10;
int x=0;
int y=20;
a=x=y+1; //连续赋值
等同于: x=y+1;
a=x;
复合赋值符: += —= *= /= %= >>= <<= &= |= ^=
这些运算符都可以写成复合的效果,eg:
int x=10;
x=x+10;
x+=10; //复合赋值
(5)单目操作符
! //逻辑反操作
— //负值
+ //正值
& //取地址
sizeof //操作数的类型长度(以字节为单位)
~ //对一个数的二进制按位取反
— — //前置、后置— —
++ //前置、后置++
* //间接访问操作符(解引用操作符)
(类型) //强制类型转换
(6)关系操作符
> >= < <= != :用于测试不相等 == :用于测试相等
(7)逻辑操作符
&& //逻辑与
|| //逻辑或
区分逻辑与与按位与 区分逻辑或与按位或:
1&2---------->0
1&&2--------->1
1|2---------->3
1||2--------->1
(8)条件操作符
exp1 ? exp2 : exp3
(9)逗号表达式
exp1,exp2,exp3........expN
逗号表达式,就是用多个逗号隔开的多个表达式.从左向右依次执行,整个表达式的结果是最后一个表达式的结果
(10)下标引用、函数调用和结构成员
1) [] 下标引用操作符
操作数: 一个数组名 + 一个索引值
int arr[10]; //创建数组
arr[9] = 10; //实用下标引用操作符
[ ]的两个操作数是arr和9
2) ()函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数
3)访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名