一:算数运算符
+ - * / %:加减乘除 求余
二:强制类型转换
显性强转顺序类型与隐形数据类型转换》
格式: c = (int)2.5*2 结果为4 ,把2.5强转为2在进行计算
int 与 int 结果为int
float 与 int 结果为float
格式:c = 2.5*2 结果为5.0 结果为float型
有符号与无符号计算结果为无符号
三:赋值运算符
“=” 右值赋值给左值:格式 a=b b的值赋值给a
四:关系运算符
>:大于 <:小于 ==:等于 !=:不等于
注意!!!
①: 浮点类型的不能使用 “==” “!=”,因为浮点型不是精确值类型,计算中存在误差。
五:逻辑运算符
&&:逻辑与 ——一个为假,则为假
||:逻辑或——一个为真,则为真
六:sizeo运算符
sizeof:计算变量或者数据类型的大小
格式:sizeof(变量);sizeof(数据类型)
七:增量/减量运算符
"++","--"
前置++——++a:先加后赋值 int a = 1;++a——结果为2
后置++——a++:先赋值在加 int a = 1;a++——结果为1
八:条件运算符
“?:”——结果为真返回前者,结果为假返回后置 格式
九:位运算符
& 按位与:有一位为0则为0
| 按位或:有一位为1则为1
~ 按位取反:相同为1,不同为0 格式 3 = 0000 0011
~3 = 1111 1100
^按位异或:相同为0,不同为1 格式 3^9 = 0000 0011
0000 1001
0000 1010
总结:
清0,用与
置1,用|
部分取反,用^
全部取反,用~
十:逗号运算符
“,” :用于多个表达式进行连接在一起,用小括号包裹
十:运算符优先级(从上往下)
- 括号
()
: 表达式中最先计算的内容,用于改变默认运算顺序。 - 指针解引用
*
、指针成员访问->
、数组下标[]
: 访问数据。 - 间接成员访问
.
,->
: 访问结构体或联合体的成员。 - 算术运算符
+, -, *, /, %, <<, >>, &, ^, |
: 二元算术运算和按位运算。 - 关系运算符
<, <=, >, >=, ==, !=
: 比较运算。 - 逻辑运算符
&&, ||
: 逻辑与、逻辑或。 - 条件运算符
?:
: 三目运算符。 - 赋值运算符
=, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=
: 从右向左结合。