Phase #01

C 言語を使ってみよう


1. C 言語とは - About C -

C 言語は初め UNIX という OS(*) のシステムを作るために開発されました。その後その有用性が高く評価されあらゆるコンピュータ・OS 上で動作するようになりました。
1989年には ANSI ( American National Standards Institute ) の規格として定められ名実ともに実用的な言語として認められました。
その後もいろいろと拡張され C++ や Java へと繋がっていきます。そういう意味では C 言語はプログラミングの"基礎"なのでしっかり修得しておきたいですね。

2.アプリケーションが作られるまでの手順 - Programming Process -


次に実際 C 言語でどのようにしてアプリケーションが作られるかを見ましょう。
大きな流れは次のようになります。
  1. ソースコードの入力
  2. ソースコードのコンパイル
  3. エラーがあれば 1 へ戻る
  4. 実行してみる
  5. エラーがあったり、変更したいところがあれば 1 へ戻る
  6. 完成
エラーが無くなるまで 1〜3 までの手順を繰り返すことをデバッグといいます。プログラムの誤り「バグ」を取り除く、という意味です。

それでは簡単な例として 1 から 5 までの階乗を計算するアプリケーションを作ってみましょう。

A.コンパイラのダウンロード - Get Compiler -


人間のわかりやすい文法でかかれた C などのプログラムを直接コンピュータが解読して実行できる機械語というものに変換する事をコンパイルといい、コンパイルをしてくれるプログラムコンパイラといいます。
コンパイラの動作・仕組み等は言語をしっかり理解する上で必要となってくるのであらためて述べます。(第 7 章を参照)
次の所からコンパイラをダウンロードしてきて下さい。このコンパイラは DOS用に設計されていますが、Windows95/98 上でも動作します。

コンパイラのダウンロードLSI C-86 Ver. 3.30c試食版 (エル・エス・アイ ジャパン) *[フリーソフトウェア集]にあります

ダウンロードしてきたファイルを解凍して任意のフォルダにコピーします。
ここでは、インストール先を c:\lsic\ として説明していきます。
まず、c:\lsic\ にある read.me と readme.1st を一応読んでおいて下さい。

また、この LSI-C コンパイラ以外にも Inprise 社 の C++ Compiler でも可能です。その場合は次を参考にしてください。
Borland C++ Compiler の場合Borland C++ Compiler でやってみたい!

B.コンパイラの設定 - Set up -


設定作業を簡単にしてくれるツールがあるようです。設定が面倒と感じる場合はこちらを使って下さい。
僕は使ったことないのでこれに関しては自分でドキュメントを読んで試してみて下さい。
このツールを使ってもパスは自分で設定する必要があるようです。

設定ツールのダウンロードLSI C-86 超簡単セットアップ (Vector Software PACK)

自分で設定する場合は次のようにします。
c:\lsic\bin\_lcc をメモ帳などで開いて下さい。そして、青文字の部分を次のように設定します。

# LSI C-86 compiler's configuration file

-DLSI_C
-XC:\LSIC\BIN -LC:\LSIC\LIB\S -IC:\LSIC\INCLUDE -T -O
-acdos.obj $LSICOPTS
& #Command line argument will be inserted here
-lknjlib -ldoslib -v

あとパスを通しておかないと都合が悪いので、autoexec.bat を編集してパスに c:\lsic\bin を追加しておきます。

・・・・・
SET PATH=E:\WINDOWS;E:\WINDOWS\COMMAND;C:\LSIC\BIN ←付けたす
・・・・・

再起動しないと内容が反映しないので、一度再起動して下さい。
これでコンパイルできる環境が整いました。

C.コンパイルする - Compile -


ソースは次のようになります。内容はこれから順次説明していくので、ここでは「こんな感じなんだな」程度で構いません。
#include <stdio.h>

/*   プロトタイプ宣言   */
int iFactorial(int iIn);

void main(void)
{
	int 	iDat, iRet;

	for(iDat = 1; iDat <= 5; iDat++) {
		iRet = iFactorial(iDat);
		printf("%d! = %d\n", iDat, iRet);
	}
}

int iFactorial(int iIn)
{
	if(iIn == 1) {
		return(1);
	} else {
		return(iIn * iFactorial(iIn - 1)); /*   再帰呼び出し   */
	}
}
このソースをダウンロードして下さい。

ソースファイルのダウンロードソースファイル fact.c ( lzhで圧縮 272bytes )

ファイルを解凍し、MS-DOS プロンプト(*)で解凍したファイルのあるフォルダに移動し次のようにします。
MS-DOS プロンプトとはMS-DOS プロンプトって…どうするん?

lcc fact.c

正常にコンパイルされればエラー表示はでません。エラーがあるとその原因が表示されます。
今回エラーが出た場合、設定が間違っていることになるので再度確認して下さい。
エラーがない場合も Dir コマンドなどで fact.exe というファイルが作られていることを確認して下さい。

D.実行する - Execute -


作成された fact を実行します。下のように表示されます。

実行時の画面例


Phase #02: データ型と変数/定数 へJump to Phase #02

△戻る
▲トップに戻る