C/C++总述:Study C/C++-CSDN博客
操作符分类
1.算术操作符 + - * / %2.移位操作符 << >>
3位操作符 & | ^4.赋值操作符 =(可与其他操作符结合形成复合赋值符)5.单目操作符 !非+正 -负sizeof 操作数的类型长度(以字节为单位)~ 二进制按位取反-- ++&取地址符*间接访问操作符(类型) 强制类型转换6.关系操作符 > < = >= <= == !=7.逻辑操作符 &&逻辑与 || 逻辑或8.条件操作符 exp1 ? exp2 : exp39.逗号表达式 exp1 , exp2 , exp3 , …expN 从左向右依次执行。整个表达式的结果是最后 一个表达式的结果。10.下标引用、函数调用和结构成员 [ ] ( ) . ->
2.移位操作符
<< 左移操作符规则: 左边抛弃、右边补 0>> 右移操作符规则: 1. 逻辑移位 左边用 0 填充,右边丢弃2. 算术移位 左边用原该值的符号位填充,右边丢弃
注意
移的是二进制编码
3.位操作符
& //按位与 规则:相同位都为1,操作结果该位才为1| //按位或 规则:相同位有一个为1,操作结果就为1^ //按位异或 规则:对应的位不相同时,操作结果为1
注意
比较的是二进制编码
eg.不能创建临时变量(第三个变量),实现两个整数的交换
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
a = a^b;
b = a^b;
a = a^b;
printf("a = %d b = %d\n", a, b);
return 0;
}
10. 下标引用、函数调用和结构成员
[ ] 下标引用操作符操作数:一个数组名 + 一个索引值
( ) 函数调用操作符接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
. 结构体.成员名-> 结构体指针->成员名