標準入力とは

標準入力とは、プログラムに入ってくるデータのことです。通常、標準入力とはキーボードからの入力のことを指します。

標準入力と同じように標準出力、標準エラー出力というのもあります。標準出力はプログラムが書き出すデータのことで、標準エラー出力はプログラムが吐き出すエラーのことです。

標準入力 キーボード
標準出力 コマンドラインの画面
標準エラー出力 コマンドラインの画面

標準入力と標準出力を合わせて標準入出力といい、英語にするとStandard Input/Outputです。
ちなみに、いつもおまじないとして書いている#include のstdioは、standard input/outputの略です。

printf()関数は、標準出力にデータを書き込む関数です。

scanf()関数

標準入力(キーボード)からデータを読み込むには、scanf()関数を使用します。

細かいことは後にして、とりあえず使えるようになりましょう。以下のコードを書いてください。ファイル名は、scanf.cとします。

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>

int main(void)
{
        int age;
        printf("年齢を入力してください。\n");
        printf("-->");
        scanf("%d", &age);

        printf("あなたの年齢は、%d歳ですね。\n", age);

        return 0;
}

キーボードからの入力を変数に代入するscanf()関数は、以下のように使います。

scanf("%d", &x); // 変数xにキーボードから入力された整数値を格納する

なぜ&xなのか? という疑問も出てくるでしょうが、いったん置いておきましょう。

とりあえず今は、変数名に &(アンド) をつけるんだな、程度の認識で良いです。

ちなみに、実数値や文字を扱うこともできます。

float weight;
char code;
printf("体重を入力してください。\n");
printf("-->");
scanf("%f", &weight);
printf("コードを入力してください。\n");
printf("-->");
scanf("%c", &code);

文字列を扱いたくなるかもしれませんが、それもまた後回しにしましょう。

練習問題

2つの整数値を入力して、その値を足した結果を出力するプログラムを作成しなさい。ファイル名は、add.cとします。

おまけ問題

  1. int型変数minに分を入力して、秒に変換して画面に出力するプログラムを作成しなさい。ファイル名はminute.cとします。

  2. 秒を入力して何分何秒と表示するプログラムを作成しなさい。ファイル名はsecond.cとします。

実行例

秒で表示するプログラムの実行例