if-else文

某みるヴぁさんC言語勉強しているようなので書く。

if文

if(条件式)
{
  //何かしらの処理 
}

単体でのif文はこんな感じ。

もしも()内の条件式が真ならば
{}内に記載された「何かしらの処理」を実行する。
条件式が偽ならば実行しない。

真:条件式が成り立つことを指す
偽:条件式が成り立たないことを指す

条件式

「変数aは1より大きい」とか「変数bは10以下である」といった条件を表す式。
「変数aが1より大きい」場合、()内に入る式は a>1 となる。
後者の場合は b <= 10 だ。

//条件式に使われる記号はこんなのがある
if(a > 1);      //aが1「より大きい(>)」
if(a < 1);       //aが1「より小さい(<)」
if(a >= 1);      //aが1「以上(>=)」
if(a <= 1);      //aが1「未満(<=)」
if(a == 1);      //aは1と「等しい(==)」
if(1 <= a && a <= 10);//aは1以上で「かつ(&&)」10以下
if(a > 0 || b > 0);  //aが0より大きい「または(||)」bが0より大きい
if(a != 0);         //aが0「ではない(!=)」

「かつ(AND)」や「または(OR)」に関しては数Aとか見て下さい。
XORとかそういうのもありますが省略します。(忘れた)
論理式とかそんな呼ばれ方をしているはずだ。

while文やfor文においても条件式は使われるので覚えておこう。

蛇足

条件式が真のとき、条件式の値は1になっていて、
条件式が偽のとき、条件式の値は0になっている。

例えば変数xの値が10の時、
if(x > 5) の x>5 = 1 で、if(1)になっている。
if(x < 5)の時はif(0)である。

if-else文

if(条件式1)
{
  //何かしらの処理 
} 
else 
{
  //条件式1が偽だった時の処理
}

elseのあとif文を書くことでさらに条件分岐できる。

if(条件式1)
{
  //条件式1が真の時の処理  
}
else if(条件式2)
{
  //条件式2が真の時の処理
} 
else
{
   //条件式1,2いずれも満たさない時の処理
}

elseの後にif文を書いて、ちょっと複雑に条件分岐させる例。
点数入力して成績表示する。

#include <stdio.h>

int main(void)
{
  int x;
  printf("何点ですか?\n");
  scanf("%d",&x); 
  //scanf関数は今では危険な関数としてVisualStudioではコンパイルエラーが出る。
  //エラーが出ないように設定もできるのでご安心ください
  if(x == 100)
  {
    printf("成績は優です\n");
  } 
  else if(x >= 80)
  {
     printf("成績は良です\n");
  } 
  else if(x >= 60)
  {
     printf("成績は可です\n");
  } 
  else if(x >= 40)
  {
     printf("成績は不可です\n");
  }
    else if(x >= 0)
    {
       printf("実際ヤバイ\n");
    }
    else
    {
       printf("何入力した?\n");
    }
}
//例)xが100の時、if(x == 100)の{}内だけ実行される