宣言と入出力

変数などの宣言と入出力は、ここでの主目的であるアルゴリズム本体にはあま
り関係ないが、実際にプログラムを作成してアルゴリズムを確認するには必要
なので、ここで簡単に説明する。

1.include インクルード
予め用意されている標準関数の宣言を他のファイルから取り込む
このため、プログラムの先頭には
#include <stdio.h>
#include <math.h>
を書く

2.main 関数の定義
アルゴリズムの本体を表すために、アルゴリズム全体を含むブロックを
main 関数として定義する
このためには、アルゴリズム全体を示すブロックの開始を表す「 { 」
の前に main( ) を書く。

(関数の詳細)
3.変数の宣言
Cではすべての変数は予め型を宣言しなくてはならない。
このためブロックの先頭に変数宣言を書く。
変数宣言の形は、
  整数の場合
    int 変数名 ;    
  実数の場合
    double 変数名 ;    
  配列(添字つき変数)の場合要素数を指定して次のように書く。

  実数の場合
    double 配列名[要素数] ;
  指定する要素数は定数でなくてはならない
                                  (定数と定数の演算式であってもよい)
  使用する可能性のある最大の要素数を指定する
  C では添字は 0 から始まるので、使用可能な添字の最大値は(要素数-1)
  である。テキストの様に、添字として、1 から N を使いたい時は、
  要素数 N+1 と宣言して、先頭要素 0 を使わないのが簡単である。
(もう少し詳しい変数宣言(局所変数)の説明)

4. 入力
  数値の入力には、scanf を用いる。
  int の入力には  scanf("%d", & 変数名);
  double の入力には  scanf("%lf", & 変数名);
  とする。& は必ず必要である。
(もうすこし詳しいscanfの説明)

5. 出力
  数値の出力には、printf を用いる。
  int の出力には  printf("%d\n", 変数名);
  double の出力には  printf("%f\n", 変数名);
  その他の文字列の出力には例えば  printf("mojitretu\n");
  とする。
(もう少し詳しいprintfの説明)

6.マクロ定義
必須ではないが、C プログラムでしばしば用いられるので、
ここで用いられる使い方のみ説明する。
プログラム中で数箇所で用いられる定数に名前をつけて、次の効果を得る。
1. 数値の意味を示す
2. 数箇所を変更する手間を省く。
   また、一部の変更忘れを防ぐ

ここでは

#include のあとに

#define 名前 値

名前は慣習として大文字である。プログラムファイル中でこれ以降、
「名前」は「値」に 文字通り 置き換えられて解釈されるので、
場合によっては非常に分かりにくい誤りを引き起こす。このため
新しい C では推奨されず、別の仕組みを用いる。