カテゴリ: C言語 更新日: 2025/12/25

C言語のif文の使い方を完全ガイド!初心者でもわかる乱数生成

C言語の制御文(if, switch)の基本と活用方法
C言語の制御文(if, switch)の基本と活用方法

先生と生徒の会話形式で理解しよう

生徒

「C言語で条件によって処理を分けたいんですけど、どうすれば良いですか?」

先生

「C言語にはif文やswitch文という、条件によって動作を変える制御構文があります。」

生徒

「制御構文って難しそうですけど、どんな感じで使うんですか?」

先生

「身近な例で考えるとわかりやすいですよ。では順番に説明していきましょう。」

1. if文とは?

1. if文とは?
1. if文とは?

C言語のif文は、条件に応じて処理を変えるための基本構文です。日常生活でも「もし雨なら傘を持つ」「もし暑いなら水分を飲む」というように、条件によって行動が変わります。プログラムでも同じ考え方で、条件に一致したときだけ特定の処理を実行できます。初心者が最初につまずく部分ですが、考え方はとても単純です。条件式が「真」なら中の処理が実行され、「偽」なら実行されません。


int a = 10;
if(a > 0)
{
    printf("aは正の数です\n");
}

この例では変数aが0より大きいときだけメッセージが表示されます。条件式は大きい、小さい、同じなどの比較演算子を使って書きます。プログラミングでは数値だけでなく、文字や計算結果を使った条件判断もできます。

2. elseとelse ifを使った分岐

2. elseとelse ifを使った分岐
2. elseとelse ifを使った分岐

if文は条件が1つだけとは限りません。「雨なら傘」「晴れなら帽子」「雪なら手袋」というように、たくさんの条件に分かれることがあります。そんなときに使うのがelseelse ifです。


int temp = 15;
if(temp >= 30)
{
    printf("とても暑いです\n");
}
else if(temp >= 10)
{
    printf("すこし寒いです\n");
}
else
{
    printf("とても寒いです\n");
}

上から順に条件を確認し、最初に一致したものだけが実行されます。どの条件にも当てはまらない場合は、最後のelseが実行されます。このように複数の条件を順番に判定できるので、ゲームプログラムやアプリの判断処理でよく使われます。

3. switch文とは?

3. switch文とは?
3. switch文とは?

C言語を学習していくと、決まった数字や文字によって処理を切り替えたい場面が出てきます。例えば「1ならゲーム開始」「2なら設定」「3なら終了」というようなメニュー処理です。そのときに便利なのがswitch文です。switchはifをたくさん並べるよりも読みやすく、分岐が多い場合にきれいに書ける構文です。


int select = 2;
switch(select)
{
    case 1:
        printf("ゲーム開始\n");
        break;
    case 2:
        printf("設定画面\n");
        break;
    case 3:
        printf("終了します\n");
        break;
    default:
        printf("無効な入力です\n");
        break;
}

caseは選択肢を表し、breakがないと次の処理まで実行されてしまうため、とても重要です。初心者がよく忘れる部分なので、switch文を書くときは常に意識してください。またどれにも一致しなかった場合にdefaultが実行されます。

4. ランダムな数字で条件分岐

4. ランダムな数字で条件分岐
4. ランダムな数字で条件分岐

if文やswitch文の練習として、ランダムな数字を使ったプログラムはとても人気があります。乱数を使うことで、毎回結果が変わる楽しいプログラムが作れます。簡単な例として、0〜9の数字をランダムに取り出し、それが偶数か奇数か判定してみましょう。


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    srand(time(NULL));
    int r = rand() % 10;
    if(r % 2 == 0)
    {
        printf("偶数:%d\n", r);
    }
    else
    {
        printf("奇数:%d\n", r);
    }
    return 0;
}

ランダムな数字が出て、その数字を判定して結果を表示します。このように条件文が使えるとプログラムの動きが一気に表現豊かになります。

5. switchで乱数の結果を使う

5. switchで乱数の結果を使う
5. switchで乱数の結果を使う

次に、乱数を使ってじゃんけんのような処理を作ることもできます。0ならグー、1ならチョキ、2ならパー、というように決まった番号を条件にして分岐します。switch文と相性が良く、読みやすいプログラムになります。


int hand = rand() % 3;
switch(hand)
{
    case 0: printf("グー\n"); break;
    case 1: printf("チョキ\n"); break;
    case 2: printf("パー\n"); break;
    default: break;
}

ゲームやシミュレーションの処理に使われることが多く、switch文に慣れる良い練習になります。

6. ifとswitchの使い分け

6. ifとswitchの使い分け
6. ifとswitchの使い分け

どの場面でif文を使い、どの場面でswitch文を使うのかは初心者が悩むポイントです。ifは複雑な条件や大小の比較がある場合に便利です。switchは決まった値を分類したいときに向いています。例えば「数値が大きいか小さいか」を調べるならif、「1、2、3のどれか」を選ぶならswitchが適しています。読みやすいコードを書くことはC言語だけでなくプログラミング全体で重要な技術になります。

まとめ

まとめ
まとめ

if文とswitch文で「条件分岐」の考え方を身につける

この記事では、C言語における条件分岐の基本として、if文、else、else if、そしてswitch文の使い方を、乱数生成と組み合わせながら学んできました。条件分岐は、プログラムに「判断」をさせるための重要な仕組みです。人が日常生活で行っている「もし〜なら」という考え方を、そのままコードに落とし込むことで、プログラムは状況に応じた動きをできるようになります。

if文は、条件が成り立つかどうかを判定し、その結果によって処理を実行するかどうかを決めます。条件が一つだけの単純な判断から、else ifを使った複数条件の分岐まで対応できるため、非常に柔軟です。数値の大小比較や計算結果による判断、乱数の結果を使った分岐など、幅広い場面で活躍します。初心者にとって最初の壁になりやすい部分ですが、一度理解すると多くのプログラムに応用できます。

switch文と乱数の組み合わせで処理を整理する

switch文は、決まった値によって処理を分けたいときにとても便利な構文です。if文を何個も並べるよりも、選択肢がはっきりしている場合は、switch文のほうが読みやすく、間違いも減らせます。特に、乱数と組み合わせることで、ゲームやシミュレーションのような動きのあるプログラムを簡単に作れるようになります。

乱数生成は、毎回同じ結果にならないプログラムを作るための大切な要素です。if文やswitch文と一緒に使うことで、「ランダムな結果を判断して処理を変える」という、実践的なプログラミングの考え方を学べます。偶数か奇数かを判定したり、じゃんけんの手を決めたりする例は、初心者にとって理解しやすく、楽しみながら学習できる題材です。

まとめとしての簡単なサンプルプログラム


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    srand(time(NULL));
    int num = rand() % 5;

    if(num == 0)
    {
        printf("大当たり\n");
    }
    else if(num <= 2)
    {
        printf("あたり\n");
    }
    else
    {
        printf("はずれ\n");
    }

    return 0;
}

このサンプルでは、乱数によって結果を分ける簡単な判定を行っています。数値の範囲によって結果を変えることで、if文とelse ifの基本的な使い方を復習できます。このような処理は、ゲームの判定や抽選プログラムなど、さまざまな場面で使われています。

条件分岐を理解するとプログラムが一気に楽しくなる

条件分岐を理解できるようになると、C言語のプログラムは単なる計算の集まりではなく、「考えて動く仕組み」に変わります。入力や乱数の結果によって動きが変わることで、プログラムを書く楽しさも大きく広がります。最初は小さな例からで構いませんので、条件を一つずつ試しながら、if文やswitch文の動きを確認していくことが大切です。

if文とswitch文の使い分けを意識できるようになると、コードの読みやすさも向上します。自分が後から見返したときや、他の人が読んだときに理解しやすいプログラムを書くことは、プログラミング学習においてとても重要なポイントです。

先生と生徒の振り返り会話

生徒:「if文って難しそうでしたけど、日常の『もし〜なら』と同じだと分かってきました」

先生:「その気づきは大切ですね。条件分岐は考え方が分かれば怖くありません」

生徒:「乱数を使うと、毎回結果が変わって面白いです」

先生:「そうですね。条件分岐と乱数は、プログラムを生き生きさせてくれます」

生徒:「switch文も、選択肢が多いときに便利だと感じました」

先生:「その通りです。場面に応じてifとswitchを使い分けていきましょう」

生徒:「これから自分でも、条件分岐を使ったプログラムを作ってみます」

先生:「ぜひ挑戦してください。条件分岐が使えるようになると、C言語の世界が一気に広がりますよ」

カテゴリの一覧へ
新着記事
New1
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
New2
C++
C++とは?歴史と特徴を初心者向けに解説!Rustとの違いとモダン言語比較
New3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
New4
Rust
Rust開発環境をLinuxで構築する方法とおすすめ設定を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.4
Java&Spring記事人気No4
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作
No.5
Java&Spring記事人気No5
C言語
Makefile入門:C言語プロジェクトを自動ビルドしよう!初心者でも分かる仕組みと使い方
No.6
Java&Spring記事人気No6
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.7
Java&Spring記事人気No7
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.8
Java&Spring記事人気No8
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド