Objective-C之成魔之路【6-循环结构】
来源:互联网 发布:java转义符 编辑:程序博客网 时间:2024/04/28 23:18
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。
如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^
我要捐赠: 点击捐赠
Cocos2d-X源码下载:点我传送
计算机的基本属性之一就是它能够重复执行一组语句。
循环语句的作用是反复执行一段代码, 直到满足终止循环的条件为止。
Objective-C语言中提供的循环语句有:
• while语句
• do-while语句
• for语句
• while语句
• do-while语句
• for语句
while语句, 它的语法形式如下, 其中“[] ” 中的部分可以省略。
[initialization]
while (termination){
body;
[iteration;]
}
while (termination){
body;
[iteration;]
}
举例如下:
水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153)
下面代码是计算1000以内的水仙花数。
int i = 100;
int r, s, t;
r = 0;s = 0;t = 0;
while (i < 1000) {
r = i / 100;
s = (i - r * 100) / 10;
t = i - r * 100 - s * 10;
if (i == r * r * r + s * s * s + t * t * t) {
NSLog(@" %i " , i );
}
i = i + 1;
}
int i = 100;
int r, s, t;
r = 0;s = 0;t = 0;
while (i < 1000) {
r = i / 100;
s = (i - r * 100) / 10;
t = i - r * 100 - s * 10;
if (i == r * r * r + s * s * s + t * t * t) {
NSLog(@" %i " , i );
}
i = i + 1;
}
三位的水仙花数共有4个,分别为:153、370、371、407。
do-while语句, 它的语法形式如下, 其中“[] ” 中的部分可以省略
[initialization]
do {
body;
[iteration;]
} while (termination);
计算1000以内的水仙花数
int i = 100;
int r, s, t;
r = 0;s = 0;t = 0;
do {
r = i / 100;
s = (i - r * 100) / 10;
t = i - r * 100 - s * 10;
if (i == r * r * r + s * s * s + t * t * t) {
NSLog(@" %i " , i );
}
i = i + 1;
} while (i < 1000);
for语句, 语法形式如下:
for (initialization; termination; iteration){
body;
}举例如下:
下面代码是计算0~10平方、 立方数并输出:
int i = 10;
int r, s;
r = 0;
s = 0;
for (int j = 0; j <= i ; j++) {
r = j * j;
s = j * j * j;
NSLog(@"整数为: %i 对应的平方和%i :对应的立方和:%i ", j, i , s);
}for语句小结
for语句将按以下步骤执行:
1.先求初始表达式的值。
2.求循环条件的值。
3.执行组成循环体的程序语句。
4.求循环表达式的值。
5.返回到2执行。
在for循环语句的“() ” 内部一般有3条语句,
initialization初始化语句, termination终止条件语句, iteration迭代语句,
其中这3条语句都是可以省略的。
例如把j 的初始化放在循环体的外面, 代码如下:
int j = 0;
for (; j <= i ; j++) {
r = j * j;
s = j * j * j;
NSLog(@"整数为: %i 对应的平方和%i :对应的立方和:%i ", j, i , s);
}
跳转语句
与程序转移有关的跳转有break, continue, goto语句,
break和continue都主要与循环有,
goto语句在C中就有, 它是无条件跳转可以完全替代break和continue, 一般要慎用 。
break语句
break语句在switch中使用过, 用来终止switch语句的执行。
break语句还可以用于循环体中, 终止当前的循环, 并紧跟该循环块的第一条语句处执行。
举例如下:
break语句
for (int i = 0; i < 10; i++) {
if (i == 3)
break;
NSLog(@ " i =%i", i);
}
NSLog(@" Game Over!");
i =0
i =1
i =2
Game Over!
也就是说如果在一组嵌套循环中执行break语句,仅会推出执行break语句的最内层循环。
continue语句
continue语句用来结束本次循环, 跳过循环体中下面尚未执行的语句,
接着进行终止条件的判断, 以决定是否继续循环。
对于for语句, 在进行终止条件的判断前, 还要先执行迭代语句。
举例如下:
for (int i = 0; i < 100; i ++) {
if (i % 10 == 0)
continue;
NSLog(@"%i ", i );
}
…
18
19
21
22
…
goto语句
goto语句是无条件跳转, 可以完全替代break和continue。
如果是嵌套循环, 可以使用 goto语句指定标签, 来改变程序的流程。
举例如下:
for (int j = 0; j < 10; j++) {
for (int i = 0; i < 10; i++) {
if (i == 3)
goto label;
NSLog(@ " i =%i", i);
}
}
label:
NSLog(@" Game Over!");
在内循环中使用 break和continue都只能跳出内循环,
goto语句没有这个限制,
label: 是标签定义, goto语句后面要跟有标签。
1 0
- Objective-C之成魔之路【6-循环结构】
- Objective-C之成魔之路【5-选择结构】
- C语言之循环结构
- Objective-C之成魔之路【2-Objective-C 编程】
- Objective-C之成魔之路【1-Objective-C特点】
- objective-c之有用结构体
- Objective-C之成魔之路【0-序章】
- Objective-C之成魔之路【3-数据类型】
- Objective-C之成魔之路【10-继承性】
- Objective-C之成魔之路【13-预处理程序】
- 预处理程序Objective-C之成魔之路
- 预处理程序Objective-C之成魔之路
- 预处理程序Objective-C之成魔之路
- 预处理程序Objective-C之成魔之路
- 预处理程序Objective-C之成魔之路
- Objective-C之成魔之路【15-Foundation框架】
- Objective-C之成魔之路【16-使用文件】
- Objective-C之成魔之路【17-内存管理】
- Replacing Objective-C Methods at Runtime
- hash表
- ASP.NET动态网站开发培训-17.创建Access和SQL Serverv数据库
- HDOJ 题目1596 find the safest road(最短路Floyd)
- Android中handler的工作机制
- Objective-C之成魔之路【6-循环结构】
- 让avtivity成窗口显示
- 算法与数据结构作业第二次 cards
- Unity3D插件评测(待续)
- JQuery学习(3)
- 如何为你的项目挑选适宜的Web开发框架?
- highcharts-ng下载地址
- [转]2014年最新810多套android源码2.46GB免费一次性打包下载
- Java基础:IO 流中的 flush