操作符是在编程最常运用到工具,熟悉操作符对我们学好C语言有很大的帮助。操作符可以分为:
一.算术操作符
二.移位操作符
三.位操作符
四.赋值操作符
五.单目操作符
六.关系操作符
七.逻辑操作符
八.条件操作符
九.逗号表达式
十.下标引用、函数调用和结构成员
1.算术操作符:有 + - * / %(加减乘除和取余)。取余的两个操作数必须为整数,其他算术操作符可以用于整数和浮点数。值得注意的是除法用于整数时,商只取整数。(例如:9/4=2)
2.移位操作符:左移操作符<< 右移操作符>> 。
左移操作符操作规则:左边抛弃,右边补上0(值得注意的是左移时符号位也要抛弃掉)
右移操作符规则:算术右移时在高位(左边)补上符号位,低位(右边)抛弃。逻辑右移时左边补上0,右边抛弃。
** 位移操作符总结:算术左移和算术右移主要用来进行有符号位的倍增、减半运算,左移n位则增大2n倍,右移n位则减小2n倍。逻辑位移主要用来进行无符号数倍增减半。当位移的数没有进行赋值时自身的值不会变化如:a=1; a<<1;此时a还是1。a=a<<1;此时a变为2。
3.位操作:
& :按位与,只要有假就为假
| : 按位或,只要有真就为真
^ :按位异或,相同为0,相异为1
注意:它们的操作数必须为整数
4.赋值操作符:赋值操作符可以给之前定义的变量重新赋值,也可以连续赋值(a=b=6;)。赋值操作符也可以复合赋值,如:+= &= ^=等……
5.单目操作符:
! 逻辑反操作
-
负值
-
正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
++ 前置、后置加价
-
-
前置、后置--
-
(前置和后置的区别就是前置先运算再用这个变量,后置是先用再运算)
-
间接访问操作符(解引用操作符)
(类型) 强制类型转换
6.关系操作符:
=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
7.逻辑操作符:
&& 逻辑与:要注意的是逻辑与(&&)是判断两侧的表达式是否为真,按位与(&)是将两侧的数安二进制进行按位与。当一个连续的逻辑与中间出现假时,后面的表达式不再运算。( a+1 && 0 && b-2;这个式子b-2不运算)
|| 逻辑或:逻辑或和按位或的区别和上面一样。注意当连续的逻辑或出现真(1)时,后面的表达式不再运算。
8.条件操作符:
exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
9.下标引用、函数调用和结构成员:
- 操作数:一个数组名 + 一个索引值
int arr[10];//创建数组
[ ]的两个操作数是arr和9。 - () 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数 的参数。