Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語の「else ifラダー」条件文の使い方を徹底解説!基本構文から実行例まで

else ifラダー(階段状条件分岐)とは?

「else ifラダー」とは、複数の条件の中から該当するものを選んで処理を実行する、いわゆる多方向分岐を記述する際に最も一般的に使われる方法です。条件式を上から順番に評価していき、最初に真(true)となった条件に対応する処理だけが実行され、残りの分岐はすべてスキップされます。

基本構文

else ifラダーの基本的な書き方は以下の通りです。

if (condition1)
    stmt1;
else if (condition2)
    stmt2;
    - - - - -
    - - - - -
    else if (condition n)
        stmtn;
    else
        stmt x;

この構文では、まずcondition1が評価されます。もし偽(false)であれば、次のcondition2へと処理が移り、以降も同様に条件を順番にチェックしていきます。すべての条件が偽だった場合には、最後のelseブロック内の処理が実行される仕組みです。

フローチャート

else ifラダーの処理の流れは、下記のフローチャートのように視覚的に表すことができます。各条件が上から順に判定され、どれか一つの条件が満たされた時点で対応する処理へ進みます。

C言語の「else ifラダー」条件文の使い方を徹底解説!基本構文から実行例まで

C言語での実装例

それでは、実際に4つの整数値の中から最大値を求めるプログラムを使って、else ifラダーの動作を確認してみましょう。

#include<stdio.h>
void main (){
    int a,b,c,d;
    printf("Enter the values of a,b,c,d: ");
    scanf("%d%d%d%d",&a,&b,&c,&d);
    if(a>b){
        printf("%d is the largest",a);
    }
    else if(b>c){
        printf("%d is the largest",b);
    }
    else if(c>d){
        printf("%d is the largest",c);
    }
    else{
        printf("%d is the largest",d);
    }
}

プログラムの解説

このプログラムでは、ユーザーから入力された4つの値(a、b、c、d)を順番に比較しています。

  • まずa > bが真であれば、aが最大値として出力されます。
  • 偽であれば次にb > cを判定し、真ならbが出力されます。
  • さらに偽であればc > dを判定し、真ならcが出力されます。
  • すべての条件が偽だった場合は、最終的なelseブロックによりdが最大値として出力されます。

実行結果

上記のプログラムをコンパイルして実行すると、以下のような結果が得られます。

Enter the values of a,b,c,d: 2 3 4 5
5 is the largest

この例では、入力された値「2 3 4 5」の中で最大の「5」が正しく出力されていることが確認できます。

まとめ

else ifラダーは、複数の条件分岐を簡潔かつ読みやすく記述できるため、C言語に限らず多くのプログラミング言語で広く使われています。条件の評価は必ず上から順に行われるという点を理解しておくことが、正しいプログラムを書くうえで重要です。

  1. MacのNumbersで数値の条件付きハイライトを設定する方法

    スプレッドシートの条件付き書式は、データを目立たせるための非常に便利な機能です。セルまたはセル範囲の値に対して条件を設定すると、その条件が満たされたときに、セルの強調表示や文字の書式設定を自動的に適用できます。これにより、重要なデータがひと目でわかるようになります。 MacのNumbersで条件付き書式を設定したい方は、ぜひ本チュートリアルをご覧ください。なお、Numbersではこの機能は「条件付き書式」ではなく「条件付きハイライト」という名称になっている点にご注意ください。 条件付きハイライトで使えるデータの種類 条件付きハイライトのルールを追加する前に、利用できるデータの種類と対応する

  2. GoogleスプレッドシートでGoogle翻訳を使う方法!GOOGLETRANSLATE関数の基本と応用

    Google翻訳は、新しい言語を学ぶときにとても便利なツールです。Google翻訳アプリでは、言語の自動判別や、カメラを使って看板の文字を翻訳するなど、さまざまな機能が利用できます。実は、GoogleスプレッドシートでもGoogle翻訳の機能を使うことができます。セルに簡単な関数を入力するだけで、あらゆる言語を別の言語に翻訳できるのです。ここでは、その具体的な方法をわかりやすく解説します。Googleスプレッドシートで任意の言語を翻訳するGoogle翻訳機能を使うには、まずGoogleスプレッドシートを開き、翻訳したい言葉を任意のセルに入力します。例として、セルA1に「cat」という単語を入力