C语言操作符总结
运算符可分为:算数操算符、移位操算符、位操作符、赋值操作符、单目操算符、关系操算符、逻辑操算符、条件操算符、逗号表达式、下标引用、函数调用和结构成员
1. 算数运算符
1)+ - * 可以作用于整数和浮点型
2)/ 可以作用于整数和浮点型,如果两个操作符都为整数,执行整数除法,只要有一个浮点型则执行浮点数整除
3)% 两个操作符必须为整数,返回的是整除之后的余数
2. 移位操作符(按二进制移位)
1) << (左移操作符)左边抛弃,右边补0
注意:左移一位相当于乘2
2) >> (右移操作符)分逻辑移位和算术移位
逻辑移位:左边用0填充,右边丢弃
算术移位:左边用原该值的符号位填充,右边丢弃(较常用)
注意:右移一位,相当于除2,
警告:移位运算符,不能移动负数位
3.位操作符
1) & :(按位与)如果两个操作符都为1,结果为1,否则为0
2) | :(按位或)如果两个操作符都为0,结果为0,否则为1
3) ^ :(按位异或)如果两个操作符相同为0,相异为1
4) ~ :(按位取反)如果两个操作符遇到0变为1,遇到1变为0
3.赋值操作符:= 及重新赋值
4.复合操作符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
5.单目运算符
1) !(逻辑反操作)
2) - (负值)
3) + (正值)
4) & (取地址)
5) sizeof (操作符的类型长度,以字节为单位)
6) ~ (二进制按位取反)
7) -- (前置、后置--)
8)++ (前置、后置++)
9)* (间接访问操作符,即解引用操作符)
10) (类型) 强制类型转换
例子:说明前置、后置++
int a = 1;
int x = ++a;
(结果为:a=2,x=2)
int a = 1;
int y =a++;
(结果为:a=2,y=1)
6.关系操作符
1)>
2)>=
3)<
4)<=
5)!= (用于测试不等于)
6)== (用于测试等于)
7.逻辑操作符 (真为1,假为0)
1)&& (逻辑与)两侧的表达式都为真,结果为真,否则为假
2)|| (逻辑或)两侧的表达式都为假,结果为假,否则为真
区分逻辑与和按位与,逻辑或和按位或
1&2---------->0
1&&2-------->1
1|2---------->3
1||2-------->1
8.条件操作符
exp1 ? exp2 : exp3
exp1为条件,条件成立返回exp2,条件不成立返回exp3
9.逗号表达式
即用逗号隔开的多个表达式,从左向右依次执行,整个表达式的结果是最后一个表达式的结果
10. 下标引用、函数调用和结构成员
1) []下标引用操作符
eg: int arr[10];//创建数组
arr[9]=10;//实用下标引用操作符
2) ()函数调用操作符 接受一个货值多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数
3)访问一个结构的成员
结构体.成员名
结构体指针->成员名
以上就是所有用到的操作符。