この資料は、プログラミングに初めて触れる方を対象としています。プログラミングの基本的な考え方から、実際に簡単なコードを書くまでのステップを、C#(シーシャープ)のコード例を交えて分かりやすく解説していきます。
プログラミングとは、コンピューターに「何を」「どのように」行ってほしいかを指示する作業のことです。これらの指示を順序立てて書いたものを「プログラム」と呼びます。
私たちの身の回りにあるスマートフォン、パソコン、家電製品、Webサイトなど、あらゆるものがプログラムによって動いています。
C#でプログラミングを始めるには、Microsoftが提供する開発ツールである **Visual Studio** を使うのが一般的です。
どんなプログラミング言語でも共通する、重要な考え方があります。
プログラムは、書かれたコードの上から下へ、左から右へ、順番に実行されます。
例: 朝のルーティン
これは上から順番に実行されますね。
ある条件が満たされた場合にだけ、特定の処理を実行させたいときに使います。「もし〇〇ならば、この処理をする。そうでなければ、別の処理をする」という考え方です。
例: 傘を持っていくか判断
同じ処理を何回も繰り返したいときに使います。「〜回繰り返す」とか「〜という条件が成り立つ間、ずっと繰り返す」という考え方です。
例: 10回挨拶する
例: 目的地に着くまで歩く
プログラムの中で一時的にデータを保存しておくための「名前が付いた箱」のようなものです。数値、文字、真偽(はい/いいえ)など、様々な種類のデータを入れられます。
例: 名前の箱、年齢の箱
後でその箱の中身を取り出して使ったり、新しいものに入れ替えたりできます。
データ型(C#) | 説明 | 例 |
---|---|---|
string |
文字列 | "こんにちは" , "C#" |
int |
整数 | 10 , -5 |
double |
小数(浮動小数点数) | 3.14 , 99.5 |
bool |
真偽値(true または false ) |
true , false |
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メソッドやクラスの定義なしで直接コードを書ける
画面に「Hello World!」と表示させるプログラムを書いてみましょう。
Console.WriteLine("Hello World!");
解説:
Console.WriteLine()
は、カッコの中身を画面(コンソール)に表示するための命令です。表示後、自動的に改行されます。"Hello World!"
のように二重引用符で囲んだ部分は、文字列(文字の並び)を表します。;
) をつけます。これはC#のルールです。先ほど学んだ「変数」を使って、名前と年齢を表示するプログラムを書いてみましょう。
// 変数を定義(型名 変数名 = 初期値;)
string name = "山田太郎";
int age = 25;
// 変数を使ってメッセージを表示
Console.WriteLine("私の名前は " + name + " です。");
Console.WriteLine("年齢は " + age + " 歳です。");
// 変数の値を変更
age = age + 1; // または age++;
Console.WriteLine("来年の年齢は " + age + " 歳になります。");
解説:
string name = "山田太郎";
のように、変数を宣言する際にそのデータ型(string
やint
など)を指定します。+
演算子を使います。//
の後ろに書かれた部分はコメントです。プログラムの実行には影響せず、コードの説明のために使われます。入力された年齢に応じて異なるメッセージを表示するプログラムです。
// ユーザーから年齢を入力してもらう
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
の後のブロックのコードを実行します。{ }
(波括弧): コードのまとまり(ブロック)を示します。指定した回数だけ同じ処理を繰り返すプログラムです。
// 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
しています。この資料で、プログラミングの基本的な考え方と、簡単なC#コードの書き方を学びました。これはプログラミングのほんの入り口に過ぎません。さらに学習を進めるためのヒントをいくつかご紹介します。
プログラミングは、学べば学ぶほど可能性が広がる楽しい分野です。焦らず、少しずつでも毎日コードに触れてみることが、上達への一番の近道です。頑張ってください!