前几天学习了C语言的操作符,在此对C语言的操作符做一个总结
一,C语言操作符有以下几类
1.算术操作符
+ - * / %
2.移位操作符
① << 左移操作符:左边抛弃、右边补0
eg :int i=10 I<<1
② >> 右移操作符
首先右移运算分两种:
逻辑移位:左边用0填充,右边丢弃
算术移位:左边用原该值的符号位填充,右边丢弃
3.位操作符
& :按位与 :同真为真,有假为假
| :按位或 :有1为1,无1为0
^ :按位异或:相同为0,相异为1
4.赋值操作符
① a = x = y+1;//连续赋值
x = y+1 a =x
② 复合赋值符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
5. 单目操作符
/=
%=
>>=
<<=
&=
|=
^=
! 逻辑反操作(逻辑取反)
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置(先++,后使用值 i=3;printf("%d",++i)输出为4)、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
6. 关系操作符
> ; >=; <; <=; !=
7. 逻辑操作符
&& 逻辑与 eg:1&2----->0 1&&2---->1
|| 逻辑或 eg :1|2----->3 1||2---->1
注意:注意:if(a > b && b<c &&c >d)
8. 条件操作符
exp1 ? exp2 : exp3
eg:
if (a > b) max=a;
else max=b
max=(a>b)?a:b
9. 逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
10. 下标引用、函数调用和结构成员
① [ ]
操作数:一个数组名 + 一个索引值
操作数:一个数组名 + 一个索引值
arr[9] = 10;//实用下标引用操作符。[ ]的两个操作数是arr和9。
② ()函数调用操作符接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参
③ 访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名
. 结构体.成员名
-> 结构体指针->成员名