close

条件分岐

2方向への分岐

if文は条件式が真の時だけ処理をし、偽の時は何もしません。条件に合う場合だけ処理を行う時に使います。if else文では真の時と偽の時で処理を振り分ける場合に使います。

フローチャート。条件分岐

if文

if(条件式){
	処理1
}

if else文

if(条件式){
	処理1;
//条件式が真の場合
}
else{
	処理2;
//条件式が偽の場合
}

多方向への分岐

elseif文はif文と組み合わせて多方向の分岐を実現します switch文は選択肢の多い条件分岐を簡単に作成できます。

フローチャート。多方向条件分岐

elseif文

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

switch文

switch(条件式){
  case定数1:処理1;
	break;
  case定数2:処理2;
	break;
  case定数3:処理3;
	break;
  default 処理4;
}

例題

では具体的なアルゴリズムを使ってフローチャートを書いてみましょう。

1.テストの点数をキーボードから入力する。

2.テストの点数が50点未満なら不合格、50点以上なら合格をディスプレイに表示する。

フローチャート。条件分岐の例題

プログラム

scanf("%d",&tensu);
if(tensu < 50){
 printf("不合格");
else{
 printf("合格");
}

条件分岐を記述するときに”以上”なのか”より上”なのか、”以下”なのか”未満”なのかよく確認しましょう。

この例だと”49”、”50”、”51”の値を入力したときに正しく分岐しているか確認してみましょう。

演習

西暦を入力してうるう年か否かを出力する。

数学と英語の点数を入力して、”数学と英語がともに40点以上”、”英語が60点より上”、”数学が65点より上”の場合”合格”、それ以外”不合格”を出力する。

科学の部屋[工学・化学]