基礎から学ぶC#入門 90日コース | 制御構文・メソッド - Day 11:for文

Web APP 90日で身につけるC#
スポンサーリンク
スポンサーリンク

Day 11 のゴールと全体イメージ

Day 11 では、プログラムの中で「同じ処理を何度も繰り返す」ための基本構文である for 文 を学びます。 繰り返しは、実用的なプログラムを作るうえで欠かせない考え方であり、for 文はその代表的な書き方です。

学ぶことは次のとおりです。

  • for 文の基本構造
  • カウンター(繰り返しを数える変数)
  • 繰り返し回数の考え方

これらをステップバイステップでかみ砕きながら、初心者の方でも自然に使えるようになることを目指します。

for 文の基本構造を理解する

「何回繰り返すか」をコードで表現する

for 文は、

「決められた回数だけ、同じ処理を繰り返す」

ための構文です。基本形は次のようになります。

for (初期化; 条件; 更新)
{
    // 繰り返したい処理
}
C#

それぞれの部分には、次のような役割があります。

  • 初期化:カウンター変数を用意して、最初の値を設定する
  • 条件:繰り返しを続けるかどうかを決める(true の間だけ繰り返す)
  • 更新:1 回の処理が終わるたびに、カウンターの値を変える

この3つがセットになって、「何回繰り返すか」をコントロールします。

カウンター変数とは何か

「今何回目か」を覚えておく変数

for 文では、よく icount という名前の変数が使われます。 これは カウンター変数 と呼ばれ、

「今、何回目の繰り返しなのか」

を覚えておくための変数です。

例えば、次のような for 文を考えてみます。

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}
C#

ここでの i は、

  • 最初は 0(初期化)
  • i < 5 の間、繰り返しを続ける(条件)
  • 1 回の処理が終わるたびに i++ で 1 ずつ増える(更新)

という動きをします。

重要ポイント:

  • カウンター変数は「繰り返しの回数」と「今何回目か」を表す軸になります。
  • int i = 0; のように、for 文の中で宣言するのが一般的です。

繰り返し回数をイメージする

「0 から 4 まで」か「1 から 5 まで」か

for 文を書くときに大事なのは、

「何回繰り返したいのか」 「カウンターをどこからどこまで動かすのか」

をイメージすることです。

例えば、「5 回繰り返したい」という場合、次の2通りの書き方があります。

0 から 4 までの 5 回

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"i の値:{i}");
}
C#

この場合、i の値は 0, 1, 2, 3, 4 の 5 回です。

1 から 5 までの 5 回

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine($"i の値:{i}");
}
C#

この場合、i の値は 1, 2, 3, 4, 5 の 5 回です。

重要ポイント:

  • 「何回繰り返すか」と「カウンターの値の範囲」はセットで考えます。
  • 配列やリストなどでは「0 から始める」ことが多く、 人間向けの表示では「1 から始める」ことが多いです。

具体例1:同じメッセージを 5 回表示する

シンプルな繰り返しで for 文に慣れる

まずは、for 文の感覚をつかむために、同じメッセージを 5 回表示する例を見てみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 「こんにちは」を 5 回表示する
        for (int i = 0; i < 5; i++) // i は 0 から 4 まで変化します
        {
            Console.WriteLine("こんにちは");
        }

        Console.ReadLine();
    }
}
C#

このコードでは、

  • int i = 0; でカウンターを 0 からスタート
  • i < 5 の間、繰り返しを続ける
  • 1 回の処理が終わるたびに i++ で 1 ずつ増える

という流れで、合計 5 回「こんにちは」が表示されます。

ポイント:

  • 「何回繰り返すか」を決めるのは、条件部分(ここでは i < 5)です。
  • カウンターの値そのものを使わない場合でも、for 文は「回数を決める」ために使えます。

具体例2:1〜10 の数字を順番に表示する

カウンターの値をそのまま使う

次に、カウンターの値をそのまま表示する例を見てみます。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 1 から 10 までの数字を表示する
        for (int i = 1; i <= 10; i++) // i は 1 から 10 まで変化します
        {
            Console.WriteLine(i);
        }

        Console.ReadLine();
    }
}
C#

このコードでは、

  • int i = 1; で 1 からスタート
  • i <= 10 の間、繰り返しを続ける
  • i++ で 1 ずつ増やしていく

ことで、1, 2, 3, ..., 10 が順番に表示されます。

重要ポイント:

  • 「1 から 10 まで表示したい」という日本語のイメージを、 int i = 1; i <= 10; i++ という形に落とし込んでいます。
  • カウンターの開始値と終了条件を変えることで、自由に範囲を指定できます。

具体例3:合計値を計算する(1〜10 の合計)

繰り返しの中で「足し合わせる」

for 文は、「同じ処理を繰り返す」だけでなく、 繰り返しの中で「合計を計算する」といった処理にもよく使われます。

1〜10 の合計を求める例を見てみましょう。

using System;

class Program
{
    static void Main(string[] args)
    {
        int sum = 0; // 合計値を入れる変数。最初は 0 からスタートします。

        // 1 から 10 までの数字を順番に足していきます
        for (int i = 1; i <= 10; i++)
        {
            sum = sum + i; // 現在の合計に i を足します
        }

        Console.WriteLine($"1 から 10 までの合計は {sum} です。");

        Console.ReadLine();
    }
}
C#

このコードでは、

  • sum という合計用の変数を 0 で初期化
  • i を 1 から 10 まで動かしながら、毎回 sum = sum + i; で足し合わせる
  • 最終的に sum には 1 + 2 + ... + 10 の結果が入る

という流れになっています。

重要ポイント:

  • 「合計を計算する」ときは、合計用の変数を 0 からスタートするのが基本です。
  • for 文の中で、カウンターの値を使って計算することで、 「規則的な処理」を簡潔に書くことができます。

具体例4:繰り返し回数をユーザー入力で決める

「何回繰り返しますか?」と聞いてみる

for 文の「繰り返し回数」は、固定値だけでなく、ユーザー入力から決めることもできます。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("何回メッセージを表示しますか?:");
        string countText = Console.ReadLine();

        int count = int.Parse(countText); // 繰り返し回数

        for (int i = 1; i <= count; i++)
        {
            Console.WriteLine($"これは {i} 回目のメッセージです。");
        }

        Console.ReadLine();
    }
}
C#

このコードでは、

  • ユーザーに「何回表示するか」を入力してもらう
  • その値を count として受け取り、i <= count の条件に使う
  • 実行するたびに、繰り返し回数を変えられる

という動きになります。

ポイント:

  • 繰り返し回数を「変数」にすることで、柔軟なプログラムになります。
  • 「回数」と「カウンターの範囲」をセットで考えることが、for 文の理解につながります。

Day 11 のまとめ

Day 11 では、制御構文のひとつである for 文 を中心に、

  • for 文の基本構造(初期化・条件・更新)
  • カウンター変数の役割
  • 繰り返し回数の考え方
  • メッセージ表示・数値表示・合計計算・ユーザー入力との組み合わせ

を具体例とともに確認しました。

for 文は、

  • 「同じ処理を何度も繰り返したい」
  • 「規則的な数値の変化に合わせて処理したい」
  • 「合計や集計をしたい」

といった場面で、非常に頻繁に使われます。

ぜひ、

  • 繰り返し回数や開始値・終了条件を変えながら、動きを確認する
  • カウンターの値を使って、メッセージや計算内容を工夫してみる
  • 「日本語でイメージした繰り返し」を、for 文に落とし込む練習をする

といったステップを通して、「繰り返し処理を自分で設計できる感覚」を育てていってください。


Day 11 練習のゴール

Day 11 の練習では、for 文を使って次の3つを順番に作っていきます。

  • 1〜100 を表示
  • 偶数だけ表示
  • 1〜100 の合計

この中で自然に、

  • for 文の書き方
  • カウンター変数の役割
  • 繰り返し回数の考え方

を体に馴染ませていくことを目指します。

1〜100 を表示する:for 文の基本練習

ステップ1:日本語でイメージする

まずは、日本語でやりたいことを整理します。

「1 から 100 までの数字を、順番に表示したい。」

このイメージを、for 文に落とし込んでいきます。

  • カウンター変数:i
  • 開始値:1
  • 終了条件:i <= 100
  • 更新:i++(1 ずつ増やす)

ステップ2:コードで書いてみる

using System;

class Program
{
    static void Main(string[] args)
    {
        // 1 から 100 までの数字を表示します
        for (int i = 1; i <= 100; i++) // i は 1 から 100 まで変化します
        {
            Console.WriteLine(i); // 現在の i の値を表示します
        }

        Console.ReadLine(); // 画面がすぐ閉じないように待機します
    }
}
C#

重要ポイント:

  • 「1 から 100 まで」という日本語のイメージを、 int i = 1; i <= 100; i++ に変換しています。
  • カウンター i の値が、そのまま表示したい数字になっています。

偶数だけ表示する:条件と組み合わせる

ステップ1:日本語でイメージする

次に、1〜100 の中から 偶数だけ を表示したいとします。

「1 から 100 までの数字のうち、偶数だけを表示したい。」

偶数の条件は、

「2 で割った余りが 0 の数」

つまり、number % 2 == 0 です。

ステップ2:for 文 + if 文で書いてみる

using System;

class Program
{
    static void Main(string[] args)
    {
        // 1 から 100 までの数字のうち、偶数だけを表示します
        for (int i = 1; i <= 100; i++)
        {
            // i を 2 で割った余りが 0 なら偶数です
            if (i % 2 == 0)
            {
                Console.WriteLine(i);
            }
        }

        Console.ReadLine();
    }
}
C#

重要ポイント:

  • for 文は「範囲を回す」、if 文は「条件で絞る」という役割分担です。
  • i % 2 == 0 という条件で、偶数だけを通過させています。

別パターン:カウンターを偶数だけにする

偶数だけを表示したい場合、カウンターを「2 ずつ増やす」方法もあります。

using System;

class Program
{
    static void Main(string[] args)
    {
        // 2 から 100 までの偶数を表示します
        for (int i = 2; i <= 100; i += 2) // i を 2 ずつ増やします
        {
            Console.WriteLine(i);
        }

        Console.ReadLine();
    }
}
C#

ポイント:

  • i += 2 は「i に 2 を足す」という意味です。
  • 条件(i % 2 == 0)で絞るか、更新(i += 2)で偶数だけ回すか、 どちらの書き方もよく使われます。

1〜100 の合計を求める:繰り返し + 計算

ステップ1:日本語でイメージする

次は、1〜100 の合計を求めたいとします。

「1 から 100 までの数字を、全部足した合計を求めたい。」

このときの考え方はシンプルです。

  • 合計用の変数 sum を 0 からスタートする
  • 1〜100 を順番に回しながら、毎回 sum に足していく

ステップ2:コードで書いてみる

using System;

class Program
{
    static void Main(string[] args)
    {
        int sum = 0; // 合計値を入れる変数。最初は 0 からスタートします。

        // 1 から 100 までの数字を順番に足していきます
        for (int i = 1; i <= 100; i++)
        {
            sum = sum + i; // 現在の合計に i を足します
            // sum += i; と書いても同じ意味です
        }

        Console.WriteLine($"1 から 100 までの合計は {sum} です。");

        Console.ReadLine();
    }
}
C#

重要ポイント:

  • 合計用の変数は、必ず「0」からスタートします。
  • sum = sum + i; は、「今までの合計に、今回の i を足す」という意味です。
  • for 文の中で、カウンターの値を使って計算することで、 規則的な処理を簡潔に書けます。

練習テンプレート:範囲と条件を変えて遊ぶ

1〜N の合計を求める汎用テンプレート

for 文の感覚を深めるために、「1〜N の合計」を求めるテンプレートを示します。 N はユーザー入力で決めるようにします。

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("合計を計算したい最大の数 N を入力してください:");
        string nText = Console.ReadLine();

        int n = int.Parse(nText); // 最大値 N
        int sum = 0;              // 合計値

        for (int i = 1; i <= n; i++)
        {
            sum += i; // sum = sum + i と同じ意味です
        }

        Console.WriteLine($"1 から {n} までの合計は {sum} です。");

        Console.ReadLine();
    }
}
C#

このテンプレートを使って、

  • N を 10、100、1000 に変えてみる
  • 偶数だけの合計(if (i % 2 == 0) を追加)にしてみる
  • 3 の倍数だけの合計(i % 3 == 0)にしてみる

など、いろいろなパターンを試すと、for 文と条件の組み合わせに慣れていきます。

Day 11 練習のまとめ

この練習では、for 文を使って、

  • 1〜100 を表示する
  • 偶数だけ表示する
  • 1〜100 の合計を求める

という3つの題材を通して、

  • カウンター変数の役割(今何回目か・今の値は何か)
  • 繰り返し回数の決め方(開始値・終了条件・更新)
  • 条件や計算との組み合わせ方

を体験しました。

for 文は、

  • 「同じ処理を何度も繰り返したい」
  • 「規則的な数値の変化に合わせて処理したい」
  • 「合計や集計をしたい」

といった場面で、これから何度も登場します。

ぜひ、

  • 範囲(1〜10、1〜50、2〜100 など)を変えてみる
  • 条件(偶数、奇数、3 の倍数など)を変えてみる
  • 合計だけでなく「最大値」「個数」なども計算してみる

といった練習を通して、「繰り返し処理を自分で設計できる感覚」を育てていってください。

タイトルとURLをコピーしました