循环结构
2014-07-17 10:18
113 查看
for语句
格式:
init_expression用于在循环开始之前设置初始值。
loop_condition用于指定继续执行所需的条件,只要满足这个条件,循环就将继续执行。
关系运算符:
关系运算符的优先级比所有的算术运算符的优先级都低。
loop_expression在每次执行循环体之后求值。
执行过程:
1.首先求初始表达式的值。这个表达式通常设置一个将在循环中使用的变量,对于某些初始值(例如0或1)来说,通常称为索引变量。
2.求循环条件的值,如果条件不满足(表达式位false),循环就立即终止。然而执行在循环之后的程序语句。
3.执行组成循环体的程序语句。
4.求循环表达式的值。这个表达式通常用于改变索引变量的值。
5.返回到步骤2.
注意:
1.循环条件要在进入循环时在第一次执行循环体之前立即求值。
2.不要在循环末尾处的结束圆括号后面放置分号,这导致循环立即终止。
嵌套的for循环
for循环的变体
for循环的任何位置都可包含多个表达式,只要使用逗号分隔这些表达式即可。例如:
省略loop_condition字段的for循环实际上无限循环,理论上执行无限次的循环。只要有其他方式退出循环(例如:return,break,goto语句),就可以使用这一循环。
for(int counter=1;counter<=5;++counter)
变量counter只在for循环的整个过程是已知的(它被称为局部变量),并且不能在循环外部访问。
while语句
格式:
执行过程:
圆括号中指定的表达式(expession)将被求值。如果表达式求值的结果为true,则执行随后的程序语句(program statement)。执行完这条语句(或位于花括号中的一组语句)后,将再次对表达式求值,如果求值的结果为true,将再次执行程序语句。继续这个过程,直到表达式的最终结果为false,循环终止。
for语句都可以转换成等价的while循环。反之亦然。
for语句:
可以转换成while语句:
一般来说,在执行预定次数的循环时,首选for语句,同样,如果初始表达式,循环表达式和,循环条件都涉及同一变量,那么for语句可能是合适的选择。
do语句
本文讨论的两个循环结构都要在循环开始前测试一组条件。如果条件不满足,那么可能永远不会执行循环体。有时需要在循环结尾(而不是在开始)处检测,因此,OC提供了do语句。
格式:
执行过程:
首先执行程序语句(program statement)。其次,求圆括号中表达式(expression)的值,如果表达式的求值结果为true,循环将继续,并再次执行程序语句。只要表达式的计算结果始终为true,就将重复执行程序语句。当表达式求出的值为false时,循环将终止。
break语句
执行break语句,程序立即退出正在执行的循环,循环内break之后的语句将被跳过,并且该循环的执行也被终止。
如果在一组嵌套循环中执行break语句,仅会退出执行break语句的最内层循环。
continue语句
执行continue语句,循环会跳过该语句之后直到循环结尾处之间的所有语句。除此之外,循环将和平常一样。
格式:
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语句,循环会跳过该语句之后直到循环结尾处之间的所有语句。除此之外,循环将和平常一样。
相关文章推荐
- 数据类型和循环结构第二天
- 数据结构基础(12) --双向循环链表的设计与实现
- Oracle之选择结构和循环结构
- PAT-中国大学MOOC-陈越、何钦铭-数据结构2015春习题集-00-自测3. 数组元素循环右移问题 (20) 【二星级】
- C#循环结构应用实例(三)
- 十、 循环结构和随机数
- c++实现顺序循环队列结构,简易队列
- JAVA流程控制循环结构(while和do{}while()循环结构)
- 数据结构之线性结构--双向循环链表
- 4、循环结构
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- js 循环结构
- 1122 C语言实验——判断素数(循环结构)
- ios入门攻略 06篇 C语言基础【循环结构之while ,do-while语句】
- 循环语句中的if else 结构里面如何使用break语句?
- 2014-C第1周项目——初步体验分支结构和循环结构的程序设计 3 三数中的最大值
- C#中循环结构的效率问题
- 【VBA编程】07.循环结构语句
- 14、C#里面的循环结构:while的使用
- 循环结构