【C言語】 選択構造 IF & switch

選択構造 の 取り扱い方
変数の値や数値、選択(条件)を比較して条件式を作り,その結果によって処理を変えることが出来ます。
IF 文  
選択構造 または 条件分岐 とも言います。条件に従って処理を実行します。
◎ IF文
        • if (条件)
          処理  式
          もしも (条件) が合えば 処理   を行います。
           
《 test015.c 》

#include<stdio.h>
int main(){
int x=5;
if(x%2==1){
           printf(" 奇数 ");
}
}

結果
     xが1ならば奇数を表示する。

    

◎ IF文  (if~else )

      • if (条件式)
                 処理1
        else
                処理2
      • もしも 条件式 が合えば 処理1  異なるなら 処理2 を実行します。
           

        《 test016.c 》
         
        #include<stdio.h>
        int main(){
        int x=6;
        if(x%2==1){
        printf(" 奇数");
        }
        else{
        printf(" 偶数 ");
        }
        }

        ○ 結果

        x%2が1ならば奇数を表示、異なるなら偶数を表示する。
           

    

◎ IF文 (if~else if ~else)

      • if (条件式1)
               処理1 
        else if (条件式2)
             処理2
        else if (条件式3)
            処理3
        else    処理4     

        もしも 条件式1 ならば  処理1 を実行、
            条件式2 ならば 処理2 を実行、
                   条件式3 ならば  処理3 を実行、
                     全て異なるならば  処理4 を実行します。
           

        《 test017.c 》
           
        #include<stdio.h>
        int main(){
        int x=1;
        if(x==1){
                 printf(" ◎ ");
        }
        else if(x==2){
                 printf(" △ ");
        }
        else if(x==3){
                 printf(" ◇ ");
        }
        else {
                 printf(" × ");
        }
        }

        ○ 結果
           
        xが1ならば ◎ を表示、xが2ならば △ を表示、xが3ならば ◇ を表示、全て異なるならば × を表示
           

 

◎ IF文 (応用)

      • if (条件式1){
               if  (条件式2)
                     処理1  
              else
                     処理2     
        }
        else
                     処理3

        もしも 条件式1 が合い 条件式2 の 条件が合うなら 処理1を 条件式2 の 条件が合わなければ 処理2を 条件式1 の条件が一致しなければ  条件式3 を実行します。

        《 test018.c 》

        #include<stdio.h>
        int main(){
        int x=1 ,y=2;
        if(x==1){
                 if(y==2){
                          printf(" abc ");
                         }
                     else{
                          printf(" xyz ");
                         }
                  }
        else{
                  printf(" mnl ");
        }
        }

        ○ 結果

        xが1でyが2ならば、abc を異なるなら xyz を表示し、xが1以外なら mnl を表示する。

  

switch 文

  
○ switch 文

      • switch()
        {
        case 値1
                     処理1
        break;
        case 値2
                     処理2
        break;
        case 値3
                     処理3
        break;
        default
                     処理4
        }

        《 test019.c 》

        #include<stdio.h>
        int main(){
        int x=3;
        switch (x) {
        case 1:
               printf(" 大吉 \n");
               break;
        case 2:
               printf(" 中吉 \n");
               break;
        case 3:
               printf(" 吉\n");
               break;
        case 4:
               printf(" 凶\n");
               break;
        default:
              printf(" 大凶\n");
              break;
        }
        }

           結果

           xが1ならばcase 1 移動し 大吉 を表示 2 なら case 2 、どれも当てはまらなければ 大凶 を 表示 します。

         

  

まとめ

 ここら辺くらいから、プログラミングをしていると実感がでてきたと思います。何度も言いますが、論理的思考が大事です。
  「たまたま出来た」 ではなく、「この命令を加えたから出来た」 が大事です。
ココから先は、「これはこうなる」をしっかり理解してから進んで下さい。

目次