サイトマップ / C言語講座出入り口総目次目次:入出力(1)>整数を入力して画面に表示

青い直線

整数を入力して画面に表示

青い直線

[画面に文字を表示]←このソース→[文字を入力して画面に表示]

/* 今回のソースプログラムをコンパイルして実行すると、画面に "整数を入力して下さい" という文字が表示され、キーボードから整数を入力し、入力に成功すると、"あなたの入力した数字は XX です。"と表示され、1行改行して終わります。 */

/* ここからソースプログラム */

#include <stdio.h>

void main(void);

void main(void)
{
        int n;        /* int 型の整数の宣言 */

        printf("整数を入力して下さい  ");
        scanf("%d", &n);
        printf("あなたの入力した数字は %d です。\n", n);
}

/* ここまでソースプログラム */

/* 今日は変数と、標準ライブラリ関数scanf( )について学びます。

変数の名前

ソースプログラムのmain関数の中に、下記の記述があります。

    int n;        // int 型の整数の宣言

ここで、'n'という名前の変数を宣言しています。

変数のスコープ

'n'はmain関数の{ }の中で宣言されているので、'n'の通用する範囲は、{ }の中です。このことを、「'n'のスコープはmain 関数の{ }の中である」という言い方をします。関数の中で宣言された変数のことを自動変数または局所変数といいます。

重要:関数の{ }の中で宣言された変数を自動変数または局所変数という。

重要:自動変数のスコープは宣言された{ }の中。

変数を宣言する位置により、有効範囲が変わってきます。これを変数の記憶クラスといいます。詳しくは、次回以降で順次説明します。

変数の型

'n'の前に、'int'という言葉があります。'int'はこの変数がintという型であることを意味します。int 型は2バイトで表すことのできる整数(integer)です。下記の記述が出てくると、メモリに2バイトが割り付けられます。宣言を行うと、実際にメモリが割り付けられます。

    int n;
1バイトは8ビットです。
1ビットで表せるのは0か1です。
1バイトで表せるのは2の8乗、即ち256です。
2バイトではその2乗なので、65536になります。
実際には、'n'はマイナスの値も取るので、−32768から32767の数を表すことができます。

今回のプログラムを実行する際に、この範囲を超えた整数を入力すると、 プログラムが正常に動作しません。プログラムを実行して実験してみて下さい。例えば、32768と入力すると、−32768と表示されるはずです。もし正常に表示されたら、そのシステムではint型の整数は恐らく4バイトでしょう。

重要:2バイトのint型の整数は−32768から32767の数を表すことができる。

変数を宣言するには、変数の記憶クラスと型と名前を指定します。

重要:変数は記憶クラスと型と名前を指定して宣言する。

標準ライブラリ関数scanf( )

前回、printf( )という標準ライブラリ関数について学びました。今回はscanf( )という標準ライブラリ関数について学びます。scanf( )も、ヘッダファイル'stdio.h'をインクルードして使います。scanf( )は標準入力(stdin)、即ち、キーボードからデータを入力します。

scanf( )の( )の中に二つの引数があります。最初の引数は、"%d"です。これは「キーボードからの入力をint型の整数に変換せよ」ということです。

次の引数は'&n'です。'&n'は変数'n'のアドレスになります。変数'n'はメモリのどこかに存在します。メモリはアドレスで管理されています。Cは高級言語なので、アドレスの値を実際に指定する必要はありません。

scanf( )はキーボードから入力があったデータを、int型の整数に変換し、変数'n'のアドレスにしまいます。

重要:変数名の前に'&'を付けるとその変数のアドレスになる。

main関数の{ }の中の最後に、もう一度printf( )が出てきます。下記に示します。

    printf("あなたの入力した数字は %d です。\n", n);

" "の中にscanf( )にあったのと同じ、'%d'があります。これは「この printf( )の2番目の引数'n'をint型の整数に変換して、画面に表示せよ」ということです。これで、キーボードから入力した数字をコンソールに、とりあえず、表示できるようになりました。Cに限らず、プログラム言語の学習は、とりあえず、入力と出力ができるようになる所から始まります。 */

[画面に文字を表示]←このソース→[文字を入力して画面に表示]

青い直線

/* (C) 2000- YFプロ. All Rights Reserved. */    提供:C言語講座−それ自体コンパイルできる教材を使った講座です−

青い直線

サイトマップ / C言語講座出入り口総目次目次:入出力(1)>整数を入力して画面に表示