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

C言語条件文マスター:if、else、ネストの実践ガイド

C言語条件文マスター:if、else、ネストの実践ガイド

この包括的なガイドでは、C言語のif、else、ネストした条件文の基礎を、明確な例とベストプラクティスのヒントとともに解説します。

動画: C言語if-else文

以下の簡潔なチュートリアル動画でこれらの概念を実際に確認してください。

C言語if文

C言語のif文は以下の構文に従います:

if (テスト式) {
    // 条件が真のときに実行するコード
}

if文の仕組み

括弧内のテスト式が評価されます。結果が非ゼロ(真)なら中括弧内のコードブロックが実行され、ゼロ(偽)ならスキップされます。

C言語条件文マスター:if、else、ネストの実践ガイド

C言語の関係演算子と論理演算子における真偽値についてはWikipediaやGeeksforGeeksを参照してください。


例1: シンプルなif文

// 負の数の場合にその数を表示するプログラム
#include <stdio.h>
int main() {
    int number;
    printf("整数を入力: ");
    scanf("%d", &number);
    // numberが0未満なら真
    if (number < 0) {
        printf("You entered %d.\n", number);
    }
    printf("The if statement is easy.");
    return 0;
}

出力1

整数を入力: -2
You entered -2.
The if statement is easy.

ユーザーが-2を入力すると、式number < 0が真と評価されるためメッセージが表示されます。

出力2

整数を入力: 5
The if statement is easy.

5`の場合、式は偽と評価され、ブロック内のprintfがスキップされます。


C言語if…else文

elseブロックを追加すると、偽の場合の代替コードを指定できます。構文:

if (テスト式) {
    // 真のときのコード
} else {
    // 偽のときのコード
}

if…else文の仕組み

• テストが真:ifブロックを実行しelseをスキップ
• テストが偽:elseブロックを実行しifをスキップ

C言語条件文マスター:if、else、ネストの実践ガイド

例2: 奇数か偶数かを判定

// 整数が奇数か偶数かを判定
#include <stdio.h>
int main() {
    int number;
    printf("整数を入力: ");
    scanf("%d", &number);
    // 余りが0なら真
    if (number % 2 == 0) {
        printf("%d is an even integer.", number);
    } else {
        printf("%d is an odd integer.", number);
    }
    return 0;
}

出力

整数を入力: 7
7 is an odd integer.

ここでは剰余演算子で偶奇を判定し、elseブロックで奇数の場合を処理しています。


C言語if…elseラダー

複数の条件を順次評価する必要がある場合、if…else if…elseラダーが最適です。

ラダーの構文

if (条件1) {
    // 文
} else if (条件2) {
    // 文
} else if (条件3) {
    // 文
} else {
    // 文
}

例3: 2つの整数の関係

// 2つの整数を比較するプログラム
#include <stdio.h>
int main() {
    int number1, number2;
    printf("2つの整数を入力: ");
    scanf("%d %d", &number1, &number2);
    if (number1 == number2) {
        printf("Result: %d = %d", number1, number2);
    } else if (number1 > number2) {
        printf("Result: %d > %d", number1, number2);
    } else {
        printf("Result: %d < %d", number1, number2);
    }
    return 0;
}

出力

2つの整数を入力: 12 23
Result: 12 < 23

ネストしたif…else

if…elseを別の内部に埋め込むことで、ラダーを使わずにきめ細かな分岐が可能です。

例4: ネストした比較

#include <stdio.h>
int main() {
    int number1, number2;
    printf("2つの整数を入力: ");
    scanf("%d %d", &number1, &number2);
    if (number1 >= number2) {
        if (number1 == number2) {
            printf("Result: %d = %d", number1, number2);
        } else {
            printf("Result: %d > %d", number1, number2);
        }
    } else {
        printf("Result: %d < %d", number1, number2);
    }
    return 0;
}

if…elseブロックに文が1つだけの場合、中括弧{}は省略可能ですが、可読性とエラー防止のために使用することを推奨します。

例:

if (a > b) printf("Hello");
printf("Hi");

C言語

  1. C# 条件分岐をマスターする:if、if-else、if-else if、ネストした if 文
  2. C# switch 文をマスターする:構文、例、ベストプラクティス
  3. C# break 文:使い方とタイミングを徹底解説
  4. C# continue 文をマスターする:ループ反復を効果的にスキップする方法
  5. C++条件分岐完全ガイド:if、if-else、ネストされたif-elseの仕組みと実例
  6. C++ break文完全ガイド:ループ脱出の仕組みと実例
  7. C++ continue文完全ガイド:ループ制御の実例とベストプラクティス
  8. C++ switch-case文完全ガイド:構文、フロー、実践的な計算機例
  9. C言語goto文完全解説:構文、実用例、ベストプラクティス
  10. C言語の基本構文マスター:トークン、構造、セミコロン
  11. Python pass文完全マスター: 実践ガイド