プログラム入門:プログラミングの基礎を学ぼう!(C#版)

この資料は、プログラミングに初めて触れる方を対象としています。プログラミングの基本的な考え方から、実際に簡単なコードを書くまでのステップを、C#(シーシャープ)のコード例を交えて分かりやすく解説していきます。

1. プログラミングって何だろう?

プログラミングとは、コンピューターに「何を」「どのように」行ってほしいかを指示する作業のことです。これらの指示を順序立てて書いたものを「プログラム」と呼びます。

私たちの身の回りにあるスマートフォン、パソコン、家電製品、Webサイトなど、あらゆるものがプログラムによって動いています。

なぜプログラミングを学ぶの?

2. プログラミングを始める前の準備

C#でプログラミングを始めるには、Microsoftが提供する開発ツールである **Visual Studio** を使うのが一般的です。

必要なもの

おすすめの学習方法

3. プログラミングの基本的な考え方

どんなプログラミング言語でも共通する、重要な考え方があります。

3.1. 順次処理(順番に実行)

プログラムは、書かれたコードの上から下へ、左から右へ、順番に実行されます。

例: 朝のルーティン

  1. 目を覚ます
  2. 顔を洗う
  3. 歯を磨く
  4. 朝食を食べる

これは上から順番に実行されますね。

3.2. 条件分岐(もし〜ならば)

ある条件が満たされた場合にだけ、特定の処理を実行させたいときに使います。「もし〇〇ならば、この処理をする。そうでなければ、別の処理をする」という考え方です。

例: 傘を持っていくか判断

  • もし 雨が降っている ならば、傘を持っていく
  • そうでなければ、傘は持っていかない

3.3. 繰り返し(〇〇するまでずっと)

同じ処理を何回も繰り返したいときに使います。「〜回繰り返す」とか「〜という条件が成り立つ間、ずっと繰り返す」という考え方です。

例: 10回挨拶する

  • 10回 「こんにちは!」と言う。

例: 目的地に着くまで歩く

  • 目的地に着くまで歩き続ける

3.4. 変数(データをしまっておく箱)

プログラムの中で一時的にデータを保存しておくための「名前が付いた箱」のようなものです。数値、文字、真偽(はい/いいえ)など、様々な種類のデータを入れられます。

例: 名前の箱、年齢の箱

  • 「名前」という箱に「太郎」と入れる。
  • 「年齢」という箱に「30」と入れる。

後でその箱の中身を取り出して使ったり、新しいものに入れ替えたりできます。

データ型(C#) 説明
string 文字列 "こんにちは", "C#"
int 整数 10, -5
double 小数(浮動小数点数) 3.14, 99.5
bool 真偽値(true または false true, false

4. 実際にC#コードを書いてみよう

C#で簡単なプログラムを作成し、実行してみましょう。Visual Studioで「コンソールアプリ (.NET Coreまたは.NET)」プロジェクトを作成して試すことができます。

C#の基本的な構造: C#のプログラムは、通常、class(クラス)の中にMainメソッド(プログラムの開始地点)があり、その中に処理を記述します。

using System; // 基本的な機能を使うための宣言

namespace MyFirstProgram // プログラムのまとまり(名前空間)
{
    class Program // プログラムの本体(クラス)
    {
        static void Main(string[] args) // プログラムが最初に実行される場所
        {
            // ここにコードを書きます
        }
    }
}
                

最近の.NETのバージョン(.NET 6以降)では、この基本的な構造がより簡潔に記述できる「トップレベルステートメント」が導入されています。以下の例ではその形式で記述します。

// トップレベルステートメントの例
Console.WriteLine("Hello World!");
// Mainメソッドやクラスの定義なしで直接コードを書ける
                

4.1. Hello World! (最初のプログラム)

画面に「Hello World!」と表示させるプログラムを書いてみましょう。

Console.WriteLine("Hello World!");
                

解説:

  • Console.WriteLine() は、カッコの中身を画面(コンソール)に表示するための命令です。表示後、自動的に改行されます。
  • "Hello World!" のように二重引用符で囲んだ部分は、文字列(文字の並び)を表します。
  • 各行の終わりにはセミコロン (;) をつけます。これはC#のルールです。

4.2. 変数を使ってみよう

先ほど学んだ「変数」を使って、名前と年齢を表示するプログラムを書いてみましょう。

// 変数を定義(型名 変数名 = 初期値;)
string name = "山田太郎";
int age = 25;

// 変数を使ってメッセージを表示
Console.WriteLine("私の名前は " + name + " です。");
Console.WriteLine("年齢は " + age + " 歳です。");

// 変数の値を変更
age = age + 1; // または age++;
Console.WriteLine("来年の年齢は " + age + " 歳になります。");
                

解説:

  • string name = "山田太郎"; のように、変数を宣言する際にそのデータ型stringintなど)を指定します。
  • 文字列と変数を連結するには、+ 演算子を使います。
  • // の後ろに書かれた部分はコメントです。プログラムの実行には影響せず、コードの説明のために使われます。

4.3. 条件分岐を使ってみよう

入力された年齢に応じて異なるメッセージを表示するプログラムです。

// ユーザーから年齢を入力してもらう
Console.Write("あなたの年齢を入力してください: ");
string ageStr = Console.ReadLine(); // 入力された値は文字列として受け取る

// 文字列を整数に変換する
int age = int.Parse(ageStr);

// 条件分岐
if (age >= 20)
{
    Console.WriteLine("あなたは成人です。");
}
else
{
    Console.WriteLine("あなたは未成年です。");
}

Console.WriteLine("プログラムが終了しました。");
                

解説:

  • Console.Write(): 画面に文字を表示しますが、改行はしません。(ユーザーが同じ行に入力できるように)
  • Console.ReadLine(): ユーザーからの入力を受け取るための命令です。入力された値は必ず文字列として扱われます。
  • int.Parse(ageStr): 文字列 (ageStr) を整数に変換するための命令です。これにより、age >= 20 のような数値の比較ができるようになります。
  • if (条件) { ... } else { ... }: もし条件が真(正しい)ならばifの後のブロックのコードを実行し、そうでなければelseの後のブロックのコードを実行します。
  • { } (波括弧): コードのまとまり(ブロック)を示します。

4.4. 繰り返しを使ってみよう

指定した回数だけ同じ処理を繰り返すプログラムです。

// 5回繰り返す
for (int i = 0; i < 5; i++)
{
    Console.WriteLine((i + 1) + "回目のメッセージです。");
}

Console.WriteLine("繰り返しが終了しました。");
                

解説:

  • for (初期化; 条件; 更新) { ... }: 指定した回数だけ処理を繰り返すための構文です。
    • int i = 0;: カウンター変数iを0で初期化します。
    • i < 5;: iが5未満の間、繰り返しを実行します。
    • i++: 1回の繰り返しが終わるごとにiの値を1増やします。
  • このループでは、iは0, 1, 2, 3, 4と変化するので、合計5回繰り返されます。
  • (i + 1): 0から始まるので、1回目の表示にするために+1しています。

5. 次のステップへ

この資料で、プログラミングの基本的な考え方と、簡単なC#コードの書き方を学びました。これはプログラミングのほんの入り口に過ぎません。さらに学習を進めるためのヒントをいくつかご紹介します。

プログラミングは、学べば学ぶほど可能性が広がる楽しい分野です。焦らず、少しずつでも毎日コードに触れてみることが、上達への一番の近道です。頑張ってください!

目次へ戻る