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