您的位置:首页 > 编程语言 > C语言/C++

C语言操作符总结

miqingzhiwen 2018-03-30 22:17 92 查看
操作符有以下分类:
算术操作符 移位操作符 位操作符 赋值操作符 单⽬操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员一、算术操作符
+    -   *   /   %1. 除了%操作符之外,其他的几个操作符可以作用于整数和浮点数。
2. 对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数 除法。3. %操作符的两个操作数必须为整数。返回的是整除之后的余数。

二、移位操作符<< 左移操作符>> 右移操作符
个人小体会:如果分不清的话,看箭头朝向哪个方向就是向哪个方向移动。
对于右移移动规则分为两种:
1.逻辑移位:左边用0填充,右边丢弃;
2.算术移位:左边用原值额符号位填充,右边丢弃;三、位操作符
&    // 按位与
|      // 按位或 ^    // 按位异或 注:他们的操作数必须是整数。
四、赋值操作符
赋值操作符就是进行赋值。对于变量来说,赋值之后值就变化了。
复合赋值符

+= -= *= /= %= >>= <<= &= |= =
其实都是相通的。理解了+=就理解了其他的
五、单目操作符!             逻辑反操作
-             负值 +            正值 &           取地址 sizeof    操作数的类型⻓长度(以字节为单位) ~           对⼀一个数的⼆二进制按位取反 --           前置、后置--++         前置、后置++ *            间接访问操作符(解引⽤用操作符) (类型)     强制类型转换
其中要区分sizeof和strlen的区别。就相当于sizeof可以求总长度,strlen是实际长度。
其中和a++和++a的区别是是否是先使用再相加。六、关系操作符
>        >=          <          <=                        !=      用于测试“不相等”                     ==      用于测试“相等”
七、逻辑操作符
&&          逻辑与   (两个条件中前面的一个为假,后面的就不用判断了)                           ||              逻辑或   (两个条件中前面的一个为真,后面的就不用判断了)八、条件操作符
exp1 ? exp2 : exp3(表达式1为真,执行表达式2,否则执行表达式3);
九、逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后⼀个表达式的结果。十、下标引⽤、函数调用和结构成员1.[ ]
操作数:⼀个数组名 + 一个索引值2.( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员 . 结构体.成员名 -> 结构体指针->成员名
标签: