こんにちは!
前回までに「変数の使い方」や「+−×÷の計算方法」、「演算子の優先順位」などを学びましたね。
これまでに紹介したプログラムは、すべて自分で用意した値(=固定値)を使って動いていました。
たとえば、
int a = 10;
int b = 3;
printf(“%d\n”, a + b);
のように、あらかじめ数値を入力してそれを表示するだけでした。
🔰 ユーザーの入力を受け取るとプログラムはもっと面白くなる!
ここから学ぶ「ユーザー入力」の機能を使うことで、
人がキーボードで入力した数字や文字を使って処理を行う、もっと実用的なプログラムが作れるようになります。
たとえばこんなことが可能になります:
- 計算機のように、好きな数字を入力してその結果を出す
- 名前を入力して「こんにちは、〇〇さん!」と表示する
- クイズやアンケートのようなやりとりを実装する
今回はその第一歩として、C言語の「scanf」という機能を使って、数値の入力を受け取る方法をマスターしましょう!

🧪 実際に書いてみよう!ユーザーから2つの数を入力して足し算する
以下のプログラムを書いてみよう!
#include
int main() {
int a, b;
printf("1つ目の数字を入力してください:");
scanf("%d", &a); // ユーザーからaの値を入力
printf("2つ目の数字を入力してください:");
scanf("%d", &b); // ユーザーからbの値を入力
printf("a + b = %d\n", a + b); // 入力された2つの数の合計を表示
return 0;
}
🔍 コードのポイント解説
① scanf(“%d”, &a);
- scanf は「入力を受け取る」関数です。
- “%d” は「整数型(int)の数値を受け取りますよ」という意味。
- &a の & は「aという変数のアドレスを渡す」という意味。これによって、ユーザーが入力した値が a に正しく代入されます。
💡 ちょっと難しく感じるかもしれませんが、**C言語では入力するときは必ず&変数名**と覚えておけばOKです。
📚 入力できるデータ型の例
入力できるのは数字だけでなく以下なように文字の入力もできるんです!
型 | 書き方(書式) | 入力できるデータ |
int | %d | 整数(5,-3など) |
float | %f | 小数(3.14など) |
char | %c | 1文(“A”など) |
string | %s | 文字列(“Hello”など) ※配列が必要です |
🧠 ちょっとだけ理解を深める:「&」の意味
C言語では、変数の中身を変えるときには「変数のアドレス」を渡す必要があります。
scanf は「ここに入力されたデータを入れてね」と伝えるため、
変数そのものではなく「その変数がある場所(アドレス)」を知る必要があるのです。
このとき使うのが「アドレス演算子」& です。
✅ まとめ
- scanf を使うと、ユーザーから数値を入力できる!
- 入力先の変数には必ず &変数名 と書く
- printf だけでなく scanf を使えば、対話型プログラムが作れる!
コメント