flag与零值比较:
(1)bool flag
if(flag) if(!flag)
(2)int flag
if(flag == 0) if(flag != 0)
(3)浮点型
if((flag >= -EPSINON) && (flag <= EPSINON)) if((flag < -EPSINON) || (flag > EPSINON))
EPSINON:精度 0.1 0.001 0.000001均可
(4)指针
if(flag == NULL) if(flag != NULL)
循环语句的效率:
(1)在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的放在最外层,以减少CPU跨切循环层的次数。
(2)如果循环体内存在逻辑判断,并且循环次数较大,宜将逻辑判断移到循环体的外面。
如果逻辑判断在循环体内执行,一会多了N-1次判断,二会打断循环的“流水线”作业,使得编译器不能对循环进行优化处理,降低效率。
如果循环次数小,宜将讲逻辑判断放在循环体的里面,使程序更加简洁。
不可在循环体内修改循环变量,防止for循环失去控制。