セクション2---ブランチとループ文

1774 ワード

  • 分岐文ブランチは、if() {}else{}文およびswitch(){case :}文を含む.if文には、単一のif文と複数のif文のネストが含まれます.
  • //                                  //   
    if(  ){                                        if(){
       
    }else if(  ){                                  }   
    }else if(  ){                               else{
    }                                              }
    

    もう一つはswitch case文です.このことは複数のif文を解決するためです.フォーマットは次のとおりです.
    switch(case){
    case 0: ;break;
    case1 : ;break;
    ......
    }
    

    しかし、switchがif文より優れているわけではありません.まず、switchで実現した機能はif文でも実現できますが、switch文のbreakというキーワードは書き忘れやすいです.breakキーワードはswitchの核心だからです.c言語では任意にswitch文を使用することができ、より高度な言語ではpythonではswitch文がなくなっているものもあります.とにかくif文を使えるようになったらwitchはなるべく使わないようにしたいと思います.defaultは何を解決するためですか?表現された値ドメインのすべてのcaseラベルの値が一致しない場合はどうしますか?実は何もありません---すべての文がスキップされただけです.プログラムは終了しないし、エラーも報告しない.この場合、Cではエラーに適しているとは思わないからだ.しかし、すべてのラベルに一致しない式の値を無視したくない場合はどうすればいいですか?文リストにdefault句を追加し、次のラベルdefault:caseラベルが表示される場所に書くことができます.このdefault句の後の文は、switch式の値がすべてのcaseラベルの値に一致しない場合に実行されます.したがって、各switch文にはdefault句が1つしか表示されません.しかし、文リストの任意の場所に表示され、文ストリームはcaseラベルを貫通するようにdefault句2を貫通する.ループ文ループ文はwhile、for、do while文while文フォーマットを含む
    while(  ) {
       
    }
    

    ループ条件が満たされるとループボディのコードが実行され、満たさないとループfor文フォーマットが終了します
    for(     ;    ;    ){
       
    }
    

    式1式1は、ループ変数を初期化するための初期化部分である.式2式2は条件判定部であり,判定ループ時に終了する.式3式3は調整部であり、循環条件の調整に用いられる.do while構造
    do{
       
    }while(    )
    

    dowhile文はwhile文と極めて似ています.まず、while文で実行できるコードはfor文でも実行できます.dowhileと他の2つの違いは、dowhileが少なくとも1回実行しなければならないことです.ループ文に用いられるキーワードbreakとcontinue breakはループ構造を終了する.continueは今回のループを脱退することだ.いくつかの提案:
  • forサイクル内でサイクル変数を変更してはならず、forサイクルが制御を失うことを防止する.2.for文の循環制御変数の取値は「半開半閉区間」表記
  • を推奨する.