操作符分类:算数操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用,函数调用
算数操作符:+ - * / % 其中只有%操作符的两个操作数必须是整数,返回两数相除之后的余数。
/操作符如果两个操作数都为整数,执行整数除法,只要有浮点数就执行浮点数除法。
除了%操作符外,其他几个操作符都可以用于整数和浮点数。
移位操作符:<<(左移操作符) >>(右移操作符)
<< 左移操作符左边直接抛弃,右边补0
// >>右移操作符:右移运算分两种:1.逻辑移位 左边补0,右边丢弃。
2.算数移位 左边补符号位,右边丢弃。
赋值运算符:复合赋值符
+=
-=
*=
/=
%=
.>>=
<<=
&=
|=
^=
单目操作符
!逻辑反操作; - 负值; +正值; &取地址; sizeof操作数的类型长度; ~ 对一个数的二进制按位取反;–前置、后置–;
++前置、后置++;**间接访问操作符(解引用操作符);(类型)强制类型转换。
关系操作符
!=;==;<=;>=;<;>
逻辑操作符
&&逻辑与
||逻辑或
条件操作符
例:
max=(a>b) ? a : b;
执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。
逗号表达式的作用为隔开多个表达式
1.下标引用操作符
操作数:一个数组名+一个索引值
例:int arr[10];
arr[9]=5;
2.( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员
方式: 结构体.成员名
结构体指针->成员名