C#でつまずくポイントを理解しよう

広告

〜変数・if文・for文・配列で何が難しいのか〜

C#の学習を始めると、

  • 変数は分かったと思ったのにif文で止まる
  • for文になると急に難しく感じる
  • 配列が出てきたら何をしているのか分からなくなる

ということがあります。

しかし、これは珍しいことではありません。

プログラミングでは、前の考え方を土台にして次の考え方を作っていきます。

今回は、特に多くの人がつまずく3つの段階を確認します。


1. 変数の意味がまだ曖昧な場合

変数は「名前付きの箱」

例えば、

int price = 1000;

というコードがあります。

これは、

   price
┌─────────┐
│  1000   │
└─────────┘

という箱を作っているイメージです。

  • int → 整数を入れる箱の種類
  • price → 箱につけた名前
  • 1000 → 箱の中身

です。


変数が理解できると、値の変化が追えます

例えば、

int price = 1000;

price = 1500;

の場合、

最初は、

price
┌──────┐
│1000  │
└──────┘

ですが、

2行目を実行すると、

price
┌──────┐
│1500  │
└──────┘

になります。

ここで大切なのは、

数学の「=」とは違うということです。

数学では、

1 + 2 = 3

のように「左右が同じ」という意味です。

プログラムでは、

price = 1500;

は、

priceという箱に1500を入れる

という命令です。


2. if文で混乱する場合

if文は、

「条件によって処理を変える仕組み」

です。

例えば、

int score = 80;

if(score >= 60)
{
    Console.WriteLine("合格");
}

の場合、

プログラムは次のように考えます。

scoreの中身を見る
      ↓
80は60以上?
      ↓
YES
      ↓
「合格」と表示

if文で大切なのは「条件式」

よく出てくる記号があります。

記号意味
>より大きい
<より小さい
>=以上
<=以下
==等しい

例えば、

score >= 60

は、

「scoreは60以上ですか?」

という質問です。


よくある間違い

if(score = 60)

これは間違いです。

理由は、

= は代入だからです。

scoreに60を入れる

という意味になります。

比較するときは、

score == 60

です。


3. 配列で混乱する場合

変数は1つのデータを入れる箱でした。

例えば、

int score = 80;

なら、

score
┌────┐
│80  │
└────┘

です。

しかし、テストの点数が10人分あったらどうでしょう。

int score1 = 80;
int score2 = 90;
int score3 = 70;

と書くのは大変です。

そこで配列を使います。


配列は「たくさん入るロッカー」

int[] scores = {80,90,70};

これは、

scores

┌────┬────┬────┐
│ 80 │ 90 │ 70 │
└────┴────┴────┘
  0    1    2

というイメージです。

番号(添字)を使って取り出します。

Console.WriteLine(scores[0]);

結果:

80

になります。


3つの関係を整理する

プログラミングの理解は、次の順番で深まります。

変数
  ↓
1つのデータを扱う

if文
  ↓
条件によって処理を変える

for文
  ↓
同じ処理を繰り返す

配列
  ↓
複数のデータをまとめて扱う

つまずいたときの確認ポイント

変数で困ったら

確認すること:

  • この箱の名前は何か?
  • 中身は何か?
  • 今、中身はいくつになっているか?

if文で困ったら

確認すること:

  • 何を比較しているか?
  • 条件は「はい」か「いいえ」か?
  • 条件を満たした場合、どの処理が動くか?

配列で困ったら

確認すること:

  • 配列全体の名前は何か?
  • 何番目のデータを使っているか?
  • 添字は0から始まることを理解しているか?

まとめ

C#学習では、

「文法を覚える」

だけではなく、

「コンピュータの中で何が起きているかをイメージする」

ことが重要です。

最初は、

変数
↓
条件分岐
↓
繰り返し
↓
配列

の流れを何度も確認してください。

この土台ができると、その後に学ぶ、

  • メソッド
  • クラス
  • オブジェクト指向

も理解しやすくなります。

訪問数 6 回, 今日の訪問数 6回

広告