OC中的分支结构与C中的基本一致。
1.if和else
if语句通常为if(),括号中为任意类型的表达式,表达式的值为0表示假,非0为真。
举例:
if(expression)
{
statements...
}
使用else的前提是在此之前必须有if存在,且else与if的匹配规则是若无大括号则与离else最近的if匹配
举例:
if(expression)
{
statements...
}
if(expression)
{
statements...
}
else
{
statements...
}
在上面的例子中else与第二个if匹配。在编程时建议使用大括号并缩进,可以使程序更清晰,并且可以避免错误。注:if后的语句若不加大括号则只把if后的第一条语句作为if的语句块,else同样。
2.switch
switch由一条表达式和多个标签组成,形式为:
switch(expression)
{
case condition1:
{
statements
break;
}
......
default:
{
statements
}
}
最后的default不是必须添加的,视情况而定,如果所有标签与表达式都不同则执行default。
注:不在每个标签的语句块后加break会导致从首个执行的标签开始一直执行下去。
3.while、do while和for
while、do while和for语句都用于实现循环,不同在于while和for先判断条件,do while先执行一遍循环块再判断。与if一样,这三种循环的语句块若不加大括号则默认后一句是循环体。
注:do while的while(expression)后要加分号。
惯用死循环:
for(;;)
{
statements;
}
和
while(1)
{
statements;
}
3.break、continue和goto
break和continue都用于循环的结束,不同的是break用于跳出整个循环,但是只能跳出一层,continue则是直接结束本次循环,从而进入下一次循环(如果存在的话)。goto则用于无条件跳转,但过多使用goto会降低程序的可读性,一般不建议使用goto语句。