C语言中的操作符
一. 算术操作符
包括: + - * / %
需要注意的是,“%”操作符的两边都必须为整型;其他的操作符既可用于整型,也可用于浮点型数据,其中“/”中有一个数据为浮点型执行浮点型数据运算
。
二. 移位操作符
包括:左移操作符“<<" 和右移操作符 ">>".
左移操作符的移位规则是:左边丢弃,右边补0 .
(整数在内存中以二进制补码的形式储存,在左移之后,该数并没有发生改变)
右移操作符的移位规则有两种:逻辑移位 和 算术移位 .
逻辑移位:左边用0填充, 右边丢弃 .
算术移位:左边用原该值的符号位填充, 右边丢弃 .
在C语言中,不能移负数位,浮点型数据类型不能移位 .
三. 位操作符
1.按位与 “&”
2.按位或 “|”
3.按位异或 “^”>
其中有一些比较特殊的式子:a=a&a, 0=a^a, a=a^0 …,不妨试试找找看
四. 赋值操作符
就是 ”=“,赋予一个变量新的值。
五. 复合赋值符
+= -= *= /= += -= *= /=
%= >>= <<= &= |= ^
复合赋值使代码看起来更简洁一些
六. 单目操作符
!逻辑反操作
- 负值
& 取地址
sizeof 操作数的类型长度,以字节为单位
~ 对一个二进制数按位取反
-- 前置,后置--
++ 前置,后置++
* 间接访问操作符(解引用操作符)
(类型)强制类型转换
七. 关系操作符
>
>=
<
<=
!= “不相等”
== “相等”
八. 逻辑操作符
&& 逻辑与
|| 逻辑或
九. 条件操作符
exp1 ? exp2 : exp3
十. 下标引用、 函数调用和结构成员操作符
1. [ ] 操作数: 一个数组名 + 一个索引值
int arr[10];//创建数组
arr[9] = 10;//实用下标引用操作符。
[ ]的两个操作数是arr和9。
2. () 函数调用操作符 接受一个或者多个操作数: 第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3. 访问一个结构的成员
. 结构体.成员名 -> 结构体指针 -> 成员名