噢耶，到此为止，这本书快看完了，这一章节汇总了本书遗漏的知识点，这里只是其中的一小部分，剩余的部分我将会一一补充。毕竟我们只需要掌握50%主要的知识点，剩余零碎的知识点在实际项目开发中慢慢的google吧。

- 运算符
- 预处理指令
- static关键字
- 数据类型大小
- 自动化测试
- 再谈gcc
- 再谈make
- 开发工具
- 创建GUI

# 一.运算符
下图来源[C语言运算符表](http://www.math.pku.edu.cn/teachers/qiuzy/c/operator.htm)

运算符按照优先级大小由上向下排列，在同一行的运算符具有相同优先级。第二行是所有的一元运算符。 

![](https://raw.githubusercontent.com/BeginMan/BookNotes/master/C/media/copreate.png)

## 1.1 递增与递减
注意**位置决定是返回新值还是旧值**

	++i; // 递增1，返回新值
	i++; // 递增1，返回旧值
	--i; // 递减1，返回新值
	i--; // 递减1，返回旧值

也就是：

- `i++` ：先在i所在的表达式中使用i的当前值，后让i加1
- `++i` ：让i先加1，然后在i所在的表达式中使用i的新值

如：

	int i = 3;
	int j = i++; // j==3, i==4
	int k = ++i; // k==5, i==5


## 1.2 三目运算符

	return (x == 1) ? 2 : 3; // 条件x==1为真，则2，否则3

## 1.3 位运算符

待续...




