1.算数操作符:
+ - * / %
除了%操作符,其他操作符既适用于浮点类型又适用于整数类型。%为取模操作符,它接受两个整型操作数。
2.移位操作符:
<< 左移操作符
>> 右移操作符
移位操作符只是简单地把一个值的位向左或向右移动。两个操作数都必须是整型类型。
3.位操作符:
& 按位与
| 按位或
^ 按位异或
它们分别执行AND,OR,XOR操作。它们要求操作数为整数类型,它们对操作数对应的位进行指定的操作,每次对左右操作数的各一位进行操作。
在这里介绍一道位操作符的题目。请点击输出一个数的二进制序列
4.赋值:
赋值操作符用一个等号表示(=),它的结合性从右到左。目前所介绍的操作符都还有一种复合赋值的形式:
+= -= *= /= %=
<<= >>= &= ^= |=
+=操作符的用法如下:
a += expression
它读作“把expression加到a”,它的功能相当于下面的表达式:
a = a + (expression)
其它操作符与他非常相似,只是各自使用的操作符不同而已。
5.单目操作符:
c具有一些单目操作符,也就是只接受一个操作数的操作符。它们是:
! ++ - & sizeof
~ -- + * (类型)
6.关系操作符:
这类操作符用于测试操作数之间的各种关系。c提供了所有的关系操作符:
> >= < <= != ==
关系操作符的结果是整型值,所以它可以赋值给整型变量,但通常它们用于if或while语句中,作为测值表达式。
7.逻辑操作符:
&& ||
这两个操作符看上去有点像位操作符,但它们的具体操作却大相径庭,它们用于对表达式求值,测试它们的值是真还是假。
8.条件操作符:
条件操作符接受三个操作数,它也会控制子表达式的求值顺序。下面是它的用法:
expression1 ? expression2 : expression3
条件操作符的优先级非常低,所以它的各个操作数即使不加括号,一般也不会有问题。但是,为了清楚起见,人们还是倾向于在它的各个子表达式两端加上括号。
9.逗号操作符:
逗号操作符将两个或多个表达式分隔开来。这些表达式自左向右逐个进行求值,整个逗号表达式的值都是最后那个表达式的值。它的用法如下:
expression1 , expression2 , ... ,expressionN