以上を基に、問題1のCプログラムを考えてみます。
問題1では、インチ、センチメートル、フィートの、3つの単位の長さを扱うので、3つの実数型変数を使います。
iインチを、cセンチメートルに換算する式、iインチをfヒートに換算する式をC言語では以下のように記述します。
c = 2.54 * i;
f = i / 12;
scanf関数はキーボードからデータを入力する関数で、次のように定義されています。
int scanf(const char *format,...);
scanf関数は、入力されたデータの個数を返します。第1引数のformatに示す書式指定文字列に従い、キーボードから入力された文字情報をデータ変換し、入力変数にデータを代入する仕事をします。入力変数はカンマ(,)で区切り、formatに続けて記述します。
書式指定文字列に%fと記述すると、実数を入力することを意味し、scanf関数はformatに続く入力変数に実数を代入します。scanf関数の入力変数には、名前の前にアンパサンド(&)を記述してください。
次にディスプレイにデータを表示するには、printf関数を使います。printf関数は次のように定義されています。
int printf(const char *format,...);
printf関数は、表示された文字数を返します。第1引数のformatに示す書式指定文字列に従い、formatに続いて記述された出力変数の値を文字列に変換してディスプレイに表示します。
例えば、
printf("インチの長さを入力してください->");
では出力変数はありませんので、formatで記述された文字列がそのまま表示されます。また、
printf("%fセンチ\n%fフィートです。\n", c, f);
では、2つの出力変数cとfを書式指定文字列に記述された%fの部分に、実数値を10進表記に変換して表示します。
最初のcの値は最初の%fに差し込まれ、2番目のfは2番目の%fに差し込まれるように、書式指定と出力変数は順番に対応します。
円マーク(\)付きの文字は、ディスプレイで動作を生じされる制御文字で、\nは改行、つまり表示位置を次の行の先頭に移します。
それでは、次回の宿題です。
Copyright © ITmedia, Inc. All Rights Reserved.