工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C 条件ステートメント:IF、IF Else、ネストされた IF Else と例

C の条件ステートメントとは

C の条件ステートメント プログラミングは、条件に基づいて決定を下すために使用されます。条件付きステートメントは、ステートメントの周囲に条件がない場合に順次実行されます。ステートメントのブロックに何らかの条件を付けると、条件によって評価された結果に基づいて実行フローが変わる場合があります。このプロセスは「C」では意思決定と呼ばれます。

「C」プログラミングでは、次の 2 つの構造を使用して条件付きステートメントを作成できます:

1.if文

2. if-else 文

プログラムが評価された条件の結果に基づいて実行するステートメントを決定するため、分岐とも呼ばれます。

このチュートリアルでは、次のことを学びます-

If ステートメント

これは強力な条件ステートメントの 1 つです。 If ステートメントは、プログラムの実行の流れを変更する役割を果たします。 If ステートメントは常に条件と共に使用されます。条件は、If の本体内のステートメントを実行する前に最初に評価されます。 if ステートメントの構文は次のとおりです。

 if (condition) 
     instruction;

条件は true または false に評価されます。 True は常にゼロ以外の値で、False はゼロを含む値です。命令は、単一の命令または中括弧 { } で囲まれたコード ブロックです。

次のプログラムは、'C' プログラミングでの if 構造の使用を示しています:

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

出力:

num1 is smaller than num2

上記のプログラムは、if 構造を使用して 2 つの数値が等しいかどうかを確認する方法を示しています。

<オール>
  • 上記のプログラムでは、2 つの変数を num1 と num2 で初期化し、値をそれぞれ 1 と 2 にしました。
  • 次に、テスト式で if を使用して、最小の数値と最大の数値を確認しました。 if コンストラクトで関係式を使用しました。 num1 の値は num2 より小さいため、条件は true と評価されます。
  • したがって、If のブロック内にステートメントを出力します。その後、コントロールはブロックの外に出て、プログラムは正常終了します。
  • 関係演算子

    C には 6 つの関係演算子があり、これらを使用してブール式を作成し、決定を下して条件をテストし、true または false を返します。

    <未満

    <=以下

    >より大きい

    >=以上

    ==に等しい

    !=等しくない

    等しいテスト (==) は代入演算子 (=) とは異なることに注意してください。これは、プログラマーがこれらを混同して直面する最も一般的な問題の 1 つであるためです。

    例:

    int x = 41;
    x =x+ 1;
    if (x == 42) {
       printf("You succeed!");}
    

    出力:

     You succeed

    ゼロ以外の値に評価される条件は true と見なされることに注意してください。

    例:

    int present = 1;
    if (present)
      printf("There is someone present in the classroom \n");
    

    出力:

    There is someone present in the classroom

    If-Else ステートメント

    if-else is ステートメントは、If の拡張バージョンです。 if-else の一般的な形式は次のとおりです:

    if (test-expression)
    {
        True block of statements
    }
    Else
    {
        False block of statements
    }
    Statements;
    

    このタイプの構造では、test-expression の値が true の場合、true のステートメント ブロックが実行されます。 test-expression の値が false の場合、ステートメントの false ブロックが実行されます。いずれにせよ、実行後、自動的に If のブロックの外にあるステートメントに制御が移ります。

    次のプログラムは、if-else 構文の使用法を示しています。

    ある値で変数を初期化し、値が 10 未満か 10 より大きいかを判別するプログラムを作成します。

    始めましょう。

    #include<stdio.h>
    int main()
    {
    	int num=19;
    	if(num<10)
    	{
    		printf("The value is less than 10");
    	}
    	else
    	{
    		printf("The value is greater than 10");
    	}
    	return 0;
    }
    

    出力:

    The value is greater than 10
    

    <オール>
  • 値 19 で変数を初期化しました。「C」プログラムを使用して、数値が 10 より大きいか小さいかを調べる必要があります。これを行うために、if-else 構文を使用しました。
  • ここでは、値を 10 と比較する必要があるため、条件 num<10 を指定しています。
  • ご覧のとおり、最初のブロックは常に true ブロックです。つまり、test-expression の値が true の場合、If である最初のブロックが実行されます。
  • 2 番目のブロックは、else ブロックです。このブロックには、test-expression の値が false になった場合に実行されるステートメントが含まれています。このプログラムでは、num の値が 10 より大きいため、テスト条件が false になり、else ブロックが実行されます。したがって、出力は「値が10より大きい」というelseブロックからのものになります。 if-else の後、プログラムは正常な結果で終了します。
  • 「C」プログラミングでは、if-else ステートメントのネストと呼ばれる複数の if-else 構造を相互に使用できます。

    条件式

    ?: を導入することで、if-else ステートメントを表現する別の方法があります。 オペレーター。条件式の ?: 演算子には、if と else に関連付けられたステートメントが 1 つだけあります。

    例:

    #include <stdio.h>
    int main() {
      int y;
      int x = 2;
       y = (x >= 6) ?  6 : x;/* This is equivalent to:  if (x >= 5)    y = 5;  else    y = x; */
       printf("y =%d ",y);
      return 0;}

    出力:

    y =2

    ネストされた If-else ステートメント

    一連の決定が必要な場合は、ネストされた if-else が使用されます。入れ子とは、ある if-else 構造を別の構造内で使用することを意味します。

    ネストされた if-else の使用法を説明するプログラムを書きましょう。

    #include<stdio.h>
    int main()
    {
    	int num=1;
    	if(num<10)
    	{
    		if(num==1)
    		{
    			printf("The value is:%d\n",num);
    		}
    		else
    		{
    			printf("The value is greater than 1");
    		}
    	}
    	else
    	{
    		printf("The value is greater than 10");
    	}
    	return 0;
    }
    

    出力:

    The value is:1
    

    上記のプログラムは、数値が 10 より小さいか大きいかをチェックし、ネストされた if-else 構造を使用して結果を出力します。

    <オール>
  • まず、値が 1 の変数 num を宣言しました。次に、if-else 構造を使用しました。
  • 外側の if-else では、指定された条件によって数値が 10 未満かどうかがチェックされます。条件が true の場合にのみ、内側のループが実行されます。この場合、条件が真であるため、内側のブロックが処理されます。
  • 内側のブロックにも、変数に値 1 が含まれているかどうかをチェックする条件があります。条件が真の場合、If ブロックを処理します。それ以外の場合は、else ブロックを処理します。この場合、条件が真であるため、If ブロックが実行され、値が出力画面に出力されます。
  • 上記のプログラムは、変数の値を出力し、成功して終了します。
  • 変数の値を変更してみて、プログラムがどのように動作するかを確認してください。

    注: ネストされた if-else では、インデントに注意する必要があります。これは、このプロセスに複数の if-else 構造が関与しているため、個々の構造を理解するのが難しくなるためです。適切なインデントにより、プログラムが読みやすくなります。

    ネストされた Else-if ステートメント

    マルチパスの決定が必要な場合は、ネストされた else-if が使用されます。

    「C」プログラミングでelse-ifラダーを構築する方法の一般的な構文は次のとおりです:

     if (test - expression 1) {
        statement1;
    } else if (test - expression 2) {
        Statement2;
    } else if (test - expression 3) {
        Statement3;
    } else if (test - expression n) {
        Statement n;
    } else {
        default;
    }
    Statement x;
    

    このタイプの構造は、else-if はしごとして知られています。このチェーンは一般的にはしごのように見えるため、else-if はしごとも呼ばれます。テスト式は上から下に評価されます。真のテスト式が見つかった場合は常に、それに関連付けられたステートメントが実行されます。 n 個のテスト式がすべて false になると、デフォルトの else ステートメントが実行されます。

    プログラムの助けを借りて実際の作業を見てみましょう.

    #include<stdio.h>
    int main()
    {
    	int marks=83;
    	if(marks>75){
    		printf("First class");
    	}
    	else if(marks>65){
    		printf("Second class");
    	}
    	else if(marks>55){
    		printf("Third class");
    	}
    	else{
    		printf("Fourth class");
    	}
    	return 0;
    }

    出力:

    First class

    上記のプログラムは、テストで採点された点数に従って成績を出力します。上記のプログラムでは、else-if はしご構造を使用しています。

    <オール>
  • 変数をマークで初期化しました。 else-if のはしご構造では、さまざまな条件を用意しています。
  • 変数マークの値は最初の条件と比較されます。これは、それに関連付けられたステートメントが出力画面に出力されるのが真であるためです。
  • 最初のテスト条件が false の場合、2 番目の条件と比較されます。
  • このプロセスは、すべての式が評価されるまで続きます。そうでない場合、制御は else-if はしごから出て、デフォルトのステートメントが出力されます。
  • 値を変更してみて、出力の変化に注目してください。

    まとめ


    C言語

    1. C# 式、ステートメント、およびブロック (例付き)
    2. C# if, if...else, if...else if およびネストされた if ステートメント
    3. C++ の if、if...else およびネストされた if...else
    4. C if...else ステートメント
    5. Java if...else ステートメント
    6. C++ の演算子と例:型とプログラムとは
    7. C++ Switch Case ステートメントと EXAMPLE
    8. C++ 構造体と例
    9. C++ クラスとオブジェクトと例
    10. C++ の std::list と例
    11. 構造体とクラスの違い:C++ の例で説明