循环结构与选择结构
--------循环结构--------
- for 循环 :
-
int count = 5; for(int i =0 ; i<=count ;++i){ NSLog(@"-----"); }
- for的定义,()内的三段表达式,除了中间的必须产生布尔型,并未对其余两段有所限制,只要是表达式就可以了。
- 常见的 for 循环种类:
- 1、for(int i = 0;i < 100;i++) //递减和递加的算一种
- 2、for(;true;) //有空表达式的
- 3、for (int i = 100, j = 100; i > 0 || j>0 ; i--,j++) //有多表达式的
- while 语句:
-
while(count<=5){ NSLog(@"%i",count); ++count; }
- 圆括号内的指定表达式 (count<=5) 将被求值。如果表达式求值结果为 turn ,则执行随后的程序语句 (NSLog(); ++count) 。执行完成之后将再对表达式求值,直至表达式的最终求值结果为 false 时,循环终止。执行循环之后的语句。
-
- do 语句:
-
do{ NSLog(@"%i",count); ++count; }while(count<=5);
- 前两种循环结构都要在循环开始前测试一组条件。因此如果条件不满足,那么可能永远也不会执行循环体。
- 而 do 语句的作用与执行过程是:首先执行程序语句 (NSLog(); ++count) 。然后再求圆括号中表达式 (count<=5) 的值。即永远都是先执行一次循环体之后再进行求 表达式 的 trun or false ,来决定是否继续循环。
- break 语句:
- 在循环中加入 break; 语句可以帮助程序立即退出正在执行的循环。循环内 break 之后的语句将会被跳过,循环终止,转而执行循环外的其他语句。
- 如果在一组嵌套循环中执行 break; 语句,仅会退出执行 break 语句的最内层循环。
- continue 语句:
- 程序一旦执行到了 continue; 语句,将会立即结束本次循环(即不再执行 continue; 之后的语句了)。直接进行下一次循环的判断,如果循环条件成立(turn) 则再次进入循环。
--------选择结构--------
- if 语句 :
-
int number;
//请用户输入一个数字 如果用户输入的数字为负数,那么对它取正。
scanf("%i",&number);
//选择判断
if(number <= 0){
number = -number;
NSLog(@The absolute value is "%i",number);
}
return 0;- if 语句执行方式: 如果表达式的求值结果为 turn 那么将会执行大括号内的程序语句,反之如果为 false 则会跳过大括号执行大括号之后的语句。
- if - else 结构:
-
if(表达式){ //代码① }else{ //代码② }
- if -else 结构仅仅是 if 语句的一种拓展形式。如果表达式的计算结果是true,将执行 if 后面的大括号内的代码块 。如果表达式求值结果为 false 则执行else 大括号内的代码块。
- 在 else 后面还可以增加 if 或 if - else 语句继续判断。
-
- switch 语句:
- switch 语句可以更加简洁的执行 if -else 或 if - else if 语句串类型,某一个变量的值与不同的值连续进行比较。
switch(表达式){ case value1: //代码块 ............ break; case value2: //代码块 ............ break; case value3: //代码块 ............ break; default: //代码块 ............ break; }
- 小括号内的表达式将于 value1,value2,.....,value n 连续的进行比较,后者必须是单个常量或常量表达式。某种情况下,如果发现某个 value 的值与 表达式 内的求值结果相等时,就执行该情况之后的程序语句。当判断所有结果都不匹配之后,将会执行 default 后的语句。
- break 语句表示一种特定情况的结束,并导致 switch 语句的终止。记住,每种情况的结尾都要包含 break 语句。如果忘记在每种特定情况后执行 break ,那么程序就会继续执行下一种情况。如果是刻意需要选择这种方式的时候,尽量插入注释,以便告知他人。
- 编写 switch 语句时,应该记住任何两种情况的值都不能相同。但是,可以将多个情况的值与一组程序语句关联起来。
- switch 语句可以更加简洁的执行 if -else 或 if - else if 语句串类型,某一个变量的值与不同的值连续进行比较。
- 条件运算符:(格式: condition ? expression1 : expression2)
- 条件运算符接受三个运算数。在上面的语法中 condition 表示一个表达式,通常是关系表达式,只要遇到关系运算符, Objective-C 系统就会先对他求值。如果 condition 求值结果为 true (即 非零的),将执行 expression1 ,而且其结果将会成为该运算的结果。 如果 condition 的求值结果是 false (即 它是零),将执行 expression2 ,而且他的结果将会成为该运算的结果。
- 条件运算符的优先级低于其他所有的运算符优先级,但赋值运算符和逗号运算符除外。
运算符优先级排序--- http://ruixiazun.blog.163.com/blog/static/90687918201263142423363/