変数の宣言・代入・命名ルールを学ぶ。
C言語のすべてのプログラムは main 関数から実行される。
最小限のプログラムは次の形になる。
#include <stdio.h>
int main(void)
{
return 0;
}
| 記述 | 意味 |
|---|---|
#include <stdio.h> | 画面への出力・キーボード入力を使うためのライブラリを読み込む |
int main(void) | プログラムの開始点。int は「整数を返す」という意味 |
return 0; | プログラムが正常に終了したことをOSに伝える |
変数とは、プログラムの実行中にデータを一時的に保存するための、名前付きのメモリ領域である。
int score; // 「score」という名前の整数型メモリ領域を確保
score = 100; // その領域に 100 を入れる
変数を使うには、まず型を指定して宣言する。
型によって「何バイトのメモリを確保するか」と「どんな値を入れられるか」が決まる。
int number; // 整数型
char letter; // 文字型(1文字)
float height; // 小数(単精度浮動小数点)
宣言した変数に値を入れるには =(代入演算子)を使う。
number = 10;
letter = 'A';
height = 175.5;
宣言と代入は1行でまとめて書くこともできる(初期化という)。
int number = 10;
char letter = 'A';
float height = 175.5;
/* ✅ 良い例:先頭でまとめて宣言してから処理する */
int main(void) {
int a;
int b;
int wa;
a = 3;
b = 5;
wa = a + b;
printf("%d\n", wa);
return 0;
}
/* ❌ 悪い例:処理の途中で宣言している(純粋なCではエラー) */
int main(void) {
int a = 3;
printf("%d\n", a);
int b = 5; /* ← printf の後で宣言しているので × */
printf("%d\n", b);
return 0;
}
= は「代入」であり「等しい」ではない数学の = は「左辺と右辺が等しい」を意味するが、
C言語の = は「右辺の結果を左辺の変数に入れる」という意味である。
int a;
a = 3 + 2; // 右辺 3+2 を計算 → 結果 5 を a に代入
==(イコール2つ)を使う。= と == の混同は頻出バグのひとつ。
| ルール | 具体例 |
|---|---|
使える文字:半角英字・数字・_ | score, player1, total_amount |
先頭は英字または _(_ 始まりは非推奨) | ○ score × 1score |
| 予約語は使用不可 | × int, return, float |
| 大文字・小文字は別物 | Score と score は別の変数 |
| 全角文字・空白・記号は使用不可 | × スコア, × user score, × score! |
int hp;
int user1;
int player_score;
int totalAmount2025;
int 1stPlace; // 数字で始まる → ×
int return; // 予約語 → ×
int スコア; // 全角文字 → ×
int user score; // 空白を含む → ×
int score!; // 記号(!)を含む → ×
int User-Name; // ハイフン(-)を含む → ×
int total$; // 記号($)を含む → ×
Q1. 次のうち、正しい変数名として使用できるものはどれか。
正解:ウ
ア:数字で始まる → ×
イ:空白を含む → ×
エ:予約語 → ×
ウ:アンダースコア始まりは非推奨だが文法上は使用可能。
Q2. 次のコードの動作として正しいものはどれか。
int x;
x = 5 + 3;
正解:ウ
5 + 3 の結果である 8 が変数 x に代入される。
= は比較ではなく代入の演算子。
Q3. 次のうち、変数名として使えないものはどれか。
正解:ウ
$ は使用できない記号。他の選択肢はすべてルールを満たしている。
Q4. = の意味として正しいものはどれか。
正解:ウ
右辺を先に評価し、その結果を左辺の変数に保存する。
等価比較(等しいかどうか)には == を使う。