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点より上”の場合”合格”、それ以外”不合格”を出力する。