6.C言語の制御構造(if文)
 1)if(){..........}の構文
  ・if(){..........}のフローチャート
  
  ・if(){..........}の書式
    if(条件式)
    {

     条件式が成立時に実行するプログラムを書きます。

    }
 条件式で使われる比較演算子、関係演算子
<比較演算子>
比較演算子 説明
a==b aとbは等しい
a!=b aとbは等しくない
a<b aはbより小さい
a>b aはbより大きい
a<=b aはb以下
a>=b aはb以上

<関係演算子>
関係演算子 説明
! 条件のNOT「ではない」
&& 条件と条件をAND(「かつ」)
|| 条件と条件のOR(「または」)


  <サンプル1>変数aの値が数値の10以上を調べる。
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=10;
      if(a>=10)
      {
        printf("aは、10以上です。");
      }
    }

 2)if(){..........}else{..........}の構文
  ・if(){..........}else{..........} のフローチャート
  
  ・if(){..........}else{..........}の書式
    if(条件式){

      条件式が成立時に実行するプログラムを書きます。

    }
    else
    {

      条件式が不成立時に実行するプログラムを書きます。

    }

  <サンプル2>変数aの値が数値の10以上、10未満を調べる。
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=9;
      if(a>=10)
      {
        printf("aは、10以上です。");
      }
      else
      {
        printf("aは、10未満です。");
      }
    }

 3)if(){..........}else if(){..........}の構文
  ・if(){..........}else if(){..........} のフローチャート
  if3

  ・if(){..........}else if(){..........}の書式
    if(条件式1){

      条件式1が成立時に実行するプログラムを書きます。(処理1)

    }
    else if(条件式2)
    {

      条件式1が不成立で条件式2が成立した時に実行するプログラムを書きます。(処理3)

    }
       |
       |
       |
    else if(条件式n)
    {

      条件式1が不成立で条件式2が成立した時に実行するプログラムを書きます。(処理n)

    }
    else
    {

      すべての条件が不成立の場合に実行するプログラムを書きます。(処理n+1)
      この条件で処理が不要な場合は、記述する必要はありません。

    }

  <サンプル3>授業時間数を100時間として、出席時間の入った変数aの値が80以上の場合は、
           「OK」を出力し、80未満の場合は、「NO]と出力させる。
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=80;
      if(a>=80)
      {
        printf("OK");
      }
      else if(a<80)
      {
        printf("NO");
      }
    }

   <サンプル4>変数aの値が以下で示すように調べる。
            aの値が0の時 ・・・ 「aの値は0です」と出力する
            aの値が1より大きいに時 ・・・「aの値は1より大きい」出力させる
            aの値が−1より小さい時 ・・・ 「aの値は−1より小さい」出力させる
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=9;
      if(a==0)
      {
        printf("aの値は0です。");
      }
      else if(a>=1)
      {
        printf("aの値は1より大きい");
      }
      else
      {
        printf("aの値は−1より小さい");
      }
    }

  <課題1>サンプル1〜サンプル4のプログラムで変数aをコンソール入力できるように変更しなさい。
       
 4)範囲条件を作ってみる。
  @変数aの値が1以上10以下の場合は、「範囲内」と出力し、範囲以外の場合は「範囲外」と出力させる。
    
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=10;
      if(a>=1 && a<=10)
      {
        printf("範囲内");
      }
      else
      {
        printf("範囲外");
      }
    }

  A変数aの値が10以上5以下の場合は、「範囲内」と出力し、範囲外の場合は「範囲外」と出力させる。
    
    #include <stdio.h>
    void main(void)
    {
      int a;
      a=10;
      if(a<=5 || a>=10)
      {
        printf("範囲内");
      }
      else
      {
        printf("範囲外");
      }
    }

  <課題2>@の条件を1以上10未満に変更しなさい。
  <課題3>Aの条件を10以上5未満に変更しなさい。
  <課題4>変数aの値が5以上10以上の場合は、「範囲内」と出力し、範囲外の場合は「範囲外」と出力させる。
  <課題5>@、A、課題3のプログラムで変数aをコンソール入力できるようにしなさい。
  <課題6>成績が60点未満の場合は、「不可」と出力し、60点以上70点未満は、「可」と出力し、
         70点以上80点未満は、「良」と出力し、80点以上100点以下は、「優」と出力するプログラムを
         作りなさい。

 5)if文の入れ子(ネスト)の構文
  ・if(){.....if(){..........}else{...........}.....}else{..........}のフローチャート
   if4
  ・if(){.....if(){..........}else{...........}.....}else{..........}の書式
   if(条件式1)
   {

     条件式1が成立時に実行するプログラムを書きます。
     if(条件式2)
     {

       条件式2が成立時に実行するプログラムを書きます。(処理2)

     }
     else
     {

       条件式2が不成立時に実行するプログラムを書きます。(処理3)

     }
   }
   else
   {

     条件式1が成立時に実行するプログラムを書きます。(処理4)
     この条件で処理が不要な場合は、記述する必要はありません。

   }

 <サンプル5>4)@を入れ子で書いてみる
   #include <stdio.h>
   void main(void)
   {
     int a;
     a=10;
     if(a>=1)
     {
       if(a<=10)
       {
         printf("範囲内");
       }
       else
       {
         printf("範囲外");
       }
     }
     else
     {
       printf("範囲外");
     }
   }

 <課題7>4)Aのプログラムを入れ子で書いてみてください。