循环结构与选择结构

 

 

--------循环结构--------

  • for 循环 :
  • int count = 5;
    for(int i =0 ; i<=count ;++i){
      NSLog(@"-----");
    }

     

    1. for的定义,()内的三段表达式,除了中间的必须产生布尔型,并未对其余两段有所限制,只要是表达式就可以了。
    2. 常见的 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;
      }

       

    1. 圆括号内的指定表达式  (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 语句时,应该记住任何两种情况的值都不能相同。但是,可以将多个情况的值与一组程序语句关联起来。

 

  • 条件运算符:(格式:   condition ? expression1 : expression2)
    • 条件运算符接受三个运算数。在上面的语法中 condition 表示一个表达式,通常是关系表达式,只要遇到关系运算符, Objective-C 系统就会先对他求值。如果 condition 求值结果为 true (即 非零的),将执行 expression1 ,而且其结果将会成为该运算的结果。 如果 condition 的求值结果是 false (即 它是零),将执行 expression2 ,而且他的结果将会成为该运算的结果。
    • 条件运算符的优先级低于其他所有的运算符优先级,但赋值运算符和逗号运算符除外。

 

 

 

运算符优先级排序--- http://ruixiazun.blog.163.com/blog/static/90687918201263142423363/

 

posted @ 2016-09-12 15:41  方晶晶  阅读(791)  评论(0编辑  收藏  举报