Objective-C快速入门教程-第三讲 控制语句

更新时间:2023-07-17 16:36:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

iPhone与iPad应用开发课程精通Objective-C语言第三讲控制语句主讲人:关东升 eorient@

主要知识点 分支语句 循环语句 跳转语句

第2页

概述Objective-C中的控制语句有以下几类: 分支语句:if-else, switch循环语句:while, do-while, for与程序转移有关的跳转语句:break, continue, goto

第3页

分支语句分支语句提供了一种控制机制,使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。 1.条件语句 if-else 2.多分支语句 switch

第4页

if-else语句条件语句 if-else,基本语法形式如下,其中“[]”中的部分可以省略。 if (boolean-expression) statement1;[else if (boolean-expression) statement2;][else statement3;]

第5页

实例int number1= 0; int number2= 1; int max= 0; if (number1> number2){ max= number1;} else{ max= number2;}//打印最大值max NSLog(@"The maximum is%i", max);

第6页

switch语多分支语句 switch它的语法形式如下,其中“[]”中的部分可以省略。 switch (expression){ case value1: statement1; break; ………… case valueN: statemendN; break; [default: defaultStatement;] }

第7页

实例int score= 0; scanf("%i",&score); int scoreVal= score/ char resChar= ' '; switch (scoreVal){ case 9: resChar= break; case 8: resChar= break; case 7: resChar= break; case 6: resChar= break; default: resChar=} NSLog(@"你的分数是:%c", 10;

'A';

'B';

'C';

'E';

'F';第8页

resChar);

switch语句小结使用switch语句一定要注意的是:表达式expression的返回值类型必须是整数或能够自动转换成整数的类型都可以,因此可以是_Bool、char、short int、枚举类型、int、long int、long long以及它们的无符号类型等。但不能是float和double等浮点类型。 case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的。default子句是可选的。break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行。在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break。第9页

循环语句循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。Objective-C语言中提供的循环语句有: while语句 do-while语句 for语句

第10页

while语句 while语句,它的语法形式如下,其中“[]”中的部分可以省略。

[initialization] while (termination){ body; [iteration;] }

第11页

实例 下面代码是计算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;}第12页

do-while语句do-while语句,它的语法形式如下,其中“[]”中的部分可以省略。 [initialization] do{ body; [iteration;]} while (termination);

第13页

实例 计算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);第14页

for语句for语句,语法形式如下:

for (initialization; termination; iteration){ body;}

第15页

实例下面代码是计算0~8平方、立方数并输出: int int r= s= for i= 8; r, s; 0; 0; (int j= 0; j<= i; j++){ r= j * j; s= j * j * j; NSLog(@"整数为:%i对应的平方和%i:对应的立方和:%i", j, i, s);

}

第16页

for语句小结在for循环语句的“()”内部一般有3条语句,initializatio n初始化语句,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);}

第17页

跳转语句与程序转移有关的跳转有break, continue, goto语句,break和continue都主要与循环有,goto语句在C中就有,它是无条件跳转可以完全替代break和continue,一般要慎用。

第18页

break语句break语句在switch中使用过,用来终止switch语句的执行。 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!

第19页

continue语句continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。对于for语句,在进行终止条件的判断前,还要先执行迭代语句。例如下面的代码片段: for (int i= 0; i< 100; i++){ if (i% 10== 0) continue; NSLog(@"%i", i);}… 18 19 21 22…

第20页

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!");第21页

本文来源:https://www.bwwdw.com/article/2ua1.html

Top