对C语言操作符进行总结,需要的小伙伴可以看看哦
C语言操作符类型有,算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式及下标引用、函数调用和结构成员。
算数操作符
+ - * / %
注:%必须是整数类型,整除后返回的是整数类余数
其余4个操作符,在计算时出现不同类型,一般是由低类型向高类型转换
移位操作符
计算机移动的是对应数字的二进制
<< 左移 //左移的时候,右边补0即可
>> 右移 //右移的时候分为:
1. 逻辑移位 左边用0填充,右边丢弃
2. 算术移位 左边用原该值的符号位填充,右边丢弃
位操作符
对应数字的二进制数进行计算
& 按位与 //遇0就为0,全1才为1;
| 按位或 //遇1就为1;
^ 按位异或 //全1就为0;
注:他们的操作数必须是整数。
赋值操作符
= += -= *= /= %= >>= <<= &= |= ^=
举个例子:a = a+b 等价于 a += b;
单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
关系操作符
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
注:使用时,== 与 = 要分开,不要因为使用等于打成了=
逻辑操作符
&& 逻辑与
|| 逻辑或
条件操作符
例:
exp1 ? exp2 : exp3 //exp1是否为真,是exp2,否exp3
exp1 > exp2 ? exp1 : exp2 //exp1大于exp2 吗,是exp1 ,否exp2
逗号表达式
exp1, exp2, exp3, …expN
//逗号表达式,就是用逗号隔开的多个表达式
//逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果
下标引用、函数调用和结构成员
[ ] 下标引用操作符 //arr[9] = 10; [ ]的两个操作数是arr和9
( ) 函数调用操作符 //接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数
访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名