標準入出力(出力編)


 標準入出力とはプログラムから画面上に文字を表示したり、キーボードからの入力を受け付けるC言語の関数群などをさします(実は、「など」がミソだったりします・・・(^m^; )。先のページで変数を説明したので、ここの標準入出力をマスターするとプログラム実行時にキーボードからデータを受け取り、それを計算するなどして画面上に結果を表示できるようになります。標準入出力の範囲はとても広いので、とりあえず、知っていると便利なものだけを説明し、その他の機能に関しては必要であれば以降で説明するとして、それでも登場したかったものに関しては個人で勉強してください。実際、Windows のようなGUIを持つOSでは、あまり標準入出力を使わなかったりしますから。( GUI = Graphical User Interface )

 実は出力側は前に少しやっています。printf() 関数です。この関数は括弧の中にダブルクォーテーション "" で挟んだ文字を書いておくとDOSの画面上に表示されるというものでした。
  printf("Hello World!\n"); 〜C言語のプログラミング方法〜より
出力側はこの printf() 関数しか説明しません。他に2つほど知っていますが、まともに使ったことがありません・・・(^m^;)。まったく問題ないです、はい。このページではこの pritf() 関数についてのみ説明します。「入力」の方は次のページに任せます。

 とりあえず、次のプログラムを作成して実行して見てください。
    #include
    main()
    {
      printf("私の年齢は %d 歳です。\n",20);
      return 1;
    }

 実行結果は次のようになるはずです。

 「私の年齢は 20 歳です。」(←注:括弧は無いです。)

 printf() は関数であることを前にさらっと説明しました。そして、"私の年齢は %d 歳です。\n"、20 をそれぞれ引数といい、それぞれ第一引数、第二引数といいます。引数の数は関数によって決まっていますが、標準入出力の関数群は一意でないものがあります。printf() 関数も、前回使ったときは1つでしたが、今回の例では2つになっています。

 さて、実行結果とプログラムを比べると第一引数の "%d" の部分が、第二引数の 20 と置き換わっています。この 20 をいろいろな数字に変えて実行してみてください。それによって実行結果も変わってくるはずです。続いて、次のプログラムも試して見てください。
    #include
    main()
    {
      printf("私の血液型は %c 型です。\n", 'B');
      printf("円周率は約 %f です。\n", 3.14);
      printf("言語 → %s\n","language");
      printf("10進数の %d は16進数では %x です。\n",16,16);
      return 1;
    }
使い方が分かってきたかと思いますが、printf() 関数は第一引数に書式を表して、第二引数以降に書式に挿入するデータを指定していきます。挿入するデータが2つ以上になるときは上の例の10進数→16進数の一文のように引数が3つになります。さて、挿入される位置ですが、第一引数の % のあるところにそれぞれ第二引数以降のデータが挿入されていることはお気づきかと思います。% の次に来るのは第二引数以降のデータをどのように表示するかという指定になります。上の例の最後のprintf() 関数の第二引数と第三引数は共に 16 ですが、片方は 16 と表示され、もう一つは f と表示されます。第二引数で 16 と表したのは2進数で 00100000 です。このデータを数字として出力するか、16進数のデータとして出力するか、文字として出力するかを % の次の英字一文字で指定しています。はじめの方は何のことかわからないと思いますが、じきに感じがわかってくると思います。 % のつぎの文字ですが、次のものを覚えておけばいいと思います。
    %d 整数
    %f 実数(小数含む)
    %c 文字
    %s 文字列
    %x 16進数変換
これに加えて、\n の位置で改行されます。

 文字と文字列の違いは、今の段階ではなかなか区別がつかないと思います。文字の場合は半角一文字をシングルクォーテーション '' でくくったもの、文字列はダブルクォーテーション "" でくくったものととりあえずしておきましょう。

 このように printf() 関数は第一引数で表示する書式を表し、第二引数以降で書式に挿入するデータを引数として指定し、その挿入する位置と表示するデータ型は % と英字1文字で表すと、覚えてください。


標準入出力(入力編・その1)

C言語講座トップページ

TOP-PAGE

Web-Page制作者e-mailアドレス