#1. 运算符

我们在本书中使用了一些运算符,例如基本的算术运算符+-*/。C语言中还有很多其他运算符,它们可以让你生活得更简单。

递增与递减

递增将数字加1,递减将数字减1。这两种运算在C代码中出镜率很高,经常用来在循环中增减计数器的值,为此C语言提供了四个简单的表达式来简化这两种运算:

#1. 运算符 - 图1

这些表达式都会改变i的值,++--的位置决定了表达式返回i的原始值还是新值,例如:

#1. 运算符 - 图2

三目运算符

如果想在条件为真时返回某个值,而在条件为假时返回另一个值,怎么做?

  1. if (x == 1)
  2. return 2;
  3. else
  4. return 3;

C语言中有一个三目运算符可以把以上代码压缩成一行:

#1. 运算符 - 图3

位运算

C语言可以用来编写底层代码,为此它提供了一组位运算符:

运算符 说明
~a a中所有位都取反
a & b a中的位“与”b中的位
a | b a中的位“或”b中的位
a ^ b a中的位“异或”b中的位
<< 位左移(值增加)
>> 位右移(值减小)

<<运算符可以用来快速地将某个整型值乘以2的幂,但小心千万别溢出。

用逗号分割表达式

for循环在每次循环的末尾执行代码:

#1. 运算符 - 图4

但如果你想在循环末尾执行多个运算怎么办?可以使用逗号运算符:

#1. 运算符 - 图5

之所以要有逗号运算符是因为有时你不想用分号来分割表达式。