二、程序的版式 略
三、命名规则 略
四、表达式和基本语句
1.运算符的优先级及结合律
优先级 |
运算符 |
结合律 |
从
高
到
低
排
列 |
( ) [ ] -> . |
从左至右 |
! ~ ++ -- (类型) sizeof + - * & |
从右至左
| |
* / % |
从左至右 | |
+ - |
从左至右 | |
<< >> |
从左至右 | |
< <= > >= |
从左至右 | |
== != |
从左至右 | |
& |
从左至右 | |
^ |
从左至右 | |
| |
从左至右 | |
&& |
从左至右 | |
|| |
从右至左 | |
?: |
从右至左 | |
= += -= *= /= %= &= ^= |= <<= >>= |
从左至右 |
括号是最好的优先级表示方式。
2.各种类型的变量与零值比较
布尔型变量flag: if(flag) if(!flag)
整形变量value: if(value == 0) if(value != 0)
浮点变量x: if( (x >= -EXPENSION) && (x <= EXPENSION) ) EXPENSION是宏定义的误差范围,为正数
指针变量point: if(point == NULL) if(point != NULL)
有时候我们看到 if(NULL == point) 这样的古怪样式,是有其原因的,留给读者自己想吧。
3.循环语句的效率
终极准则就是,循环次数较多的循环,我们应该尽量避免去打扰他的执行。诸如在长循环中加判断语句,在长循环中加入短循环,这样都不能很好的提高循环的效率。也就是说,我们尽量应该让长循环能够实现真正的流水线作业。