您的位置:首页 > 其它

循环结构

2014-07-17 10:18 113 查看
for语句

格式:

for(init_expression;loop_condition;loop_expression)
<span style="white-space:pre">	</span>program statement


init_expression用于在循环开始之前设置初始值。

loop_condition用于指定继续执行所需的条件,只要满足这个条件,循环就将继续执行。

关系运算符:



关系运算符的优先级比所有的算术运算符的优先级都低。

loop_expression在每次执行循环体之后求值。

执行过程:

1.首先求初始表达式的值。这个表达式通常设置一个将在循环中使用的变量,对于某些初始值(例如0或1)来说,通常称为索引变量。

2.求循环条件的值,如果条件不满足(表达式位false),循环就立即终止。然而执行在循环之后的程序语句。

3.执行组成循环体的程序语句。

4.求循环表达式的值。这个表达式通常用于改变索引变量的值。

5.返回到步骤2.

注意:

1.循环条件要在进入循环时在第一次执行循环体之前立即求值。

2.不要在循环末尾处的结束圆括号后面放置分号,这导致循环立即终止。

嵌套的for循环

#import<Foundation/Foundation.h>
int main (int argc ,char* argv[])
{
@autoreleasepool{
int n,number,triangularNumber,counter;
for(counter=1;counter<5;++counter){
NSLog(@"What triangular number do you want?");
scanf("%i",&number);
triangularNumber = 0;
for (n=1;n<=number;++n)
{
triangularNumber +=n;
NSLog(@"Triangular number %i is %i",number,triangularNumber);
}
}
}


for循环的变体

for循环的任何位置都可包含多个表达式,只要使用逗号分隔这些表达式即可。例如:

for(i=0,j=0;i<10;++i)
for(i=0,j=0;i <10;++i,j-=10)
for(;j!=100;++j)


省略loop_condition字段的for循环实际上无限循环,理论上执行无限次的循环。只要有其他方式退出循环(例如:return,break,goto语句),就可以使用这一循环。

for(int counter=1;counter<=5;++counter)

变量counter只在for循环的整个过程是已知的(它被称为局部变量),并且不能在循环外部访问。

while语句

格式:

while(expression)
program statement


执行过程:

圆括号中指定的表达式(expession)将被求值。如果表达式求值的结果为true,则执行随后的程序语句(program statement)。执行完这条语句(或位于花括号中的一组语句)后,将再次对表达式求值,如果求值的结果为true,将再次执行程序语句。继续这个过程,直到表达式的最终结果为false,循环终止。

for语句都可以转换成等价的while循环。反之亦然。

for语句:

for(init_expression;loop_condition;loop_expression)
<span style="white-space:pre">	</span>program statement


可以转换成while语句:

init_expression;
while(loop_condition){
program statement
loop_expression;
}


一般来说,在执行预定次数的循环时,首选for语句,同样,如果初始表达式,循环表达式和,循环条件都涉及同一变量,那么for语句可能是合适的选择。

do语句

本文讨论的两个循环结构都要在循环开始前测试一组条件。如果条件不满足,那么可能永远不会执行循环体。有时需要在循环结尾(而不是在开始)处检测,因此,OC提供了do语句。

格式:

do
program statement
while (expression)

执行过程:

首先执行程序语句(program statement)。其次,求圆括号中表达式(expression)的值,如果表达式的求值结果为true,循环将继续,并再次执行程序语句。只要表达式的计算结果始终为true,就将重复执行程序语句。当表达式求出的值为false时,循环将终止。

break语句

执行break语句,程序立即退出正在执行的循环,循环内break之后的语句将被跳过,并且该循环的执行也被终止。

如果在一组嵌套循环中执行break语句,仅会退出执行break语句的最内层循环。

continue语句

执行continue语句,循环会跳过该语句之后直到循环结尾处之间的所有语句。除此之外,循环将和平常一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  循环结构