1:if语句
1)布尔变量用法:
If(flag)或者if(!flag),不可与TURE,FALSE或者1,0做比较。错误用法:如 if(flag==TURE)或者if(flag==0),_Bool类型长度为1,只能取值范围0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。_Bool b=2也表示 b=1因为 _Bool长度只有1.
2)指针变量。与显式NULL比较 如 if(p==NULL)。
2:循环语句
四种循环的比较:
四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环,不但因为其蹩脚,我们也极力建议不要使用goto语句,尽量使用其他语句代替。
while和do-while循环,循环体中应包括使循环趋于结束的语句。
for语句功能最强,也最常用。
用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。
break可以用在循环结构和switch结构中,用于中断程序运行,而continue一般只在循环结构中出现,而且一般在一个选择结构中。可以用以下例子来说明二者的区别
for(i=1;i<10;i++)
{
语句组1
if(条件)break;
语句组2
if(条件)continue;
语句组3
}
语句组4
在这个程序中,如果程序运行到break语句,则循环结束,跳转到语句组4运行后续语句。
如果程序运行到continue,则跳过语句组3,直接进行i++,去执行下一次循环。
2):swith语句注意点
在使用switch语句时还应注意以下几点:
在case后的各常量表达式的值不能相同,否则会出现错误。
在case后,允许有多个语句,可以不用{}括起来。
各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
default子句可以省略不用。