前回の授業で学習したように標準的なプログラムの作成順序は,図
4のようになる.
- まずはプログラムを入れるのディレクトリーをつくる.プログラムをディレクト
リー毎にわけることにより,大量のプログラムを管理する.デスクトップの「ア
カウント名+ホーム」と書かれたアイコンを開いて,右クリックの新しいフォルダー
を選択することにより,ディレクトリーは作成できる.
- 次にターミナルをダブルクリックして開く.そして,「cd ディレクトリー
名」をタイプすることにより,プログラム作成のディレクトリーに移動する.そし
て,「emacs ソースファイル名.c&」とタイプして,emacs を立ち上げプロ
グラムを書きはじめる.最後の&は,emacsを動作させたターミナルから,コ
マンド入力ができるようにしている.
図 1:
エディター emacs の実行方法.hoge.cというC言語のソースプログラムを作成する.
|
- プログラムを書き終えたら,それを保管する.そして,C言語のファイルを機械語
に変換する.変換するためには,「gcc -o 実行ファイル名 ソースファ
イル名.c」とタイプする.
図 2:
C言語のソースファイルを機械語のファイルに直すgccの書き方
|
- コンパイルが完了したら,「./実行ファイル名」とタイプして,プログラム
を実行する.
以上が標準的なプログラムの作成順序である.諸君は,これをしっかり憶えてなくてはならない.
先週,リスト
1のようなプログラムを作成した.このプログラムをコンパイルした後,実行すると,ディスプレイに,
Hello World !!
と表示された.このプログラムの各行の意味を説明する.
1 #include <stdio.h>
2
3 int main(void)
4 {
5
6 printf("Hello World !!\n");
7
8 return 0;
9 }
このプログラムの各行は,次のような意味がある.
- 1行
- 現段階で,この意味を理解する必要はない.しかし,プログラムの最初に必ず書く
必要があると憶えておけば良い.プログラムを動作させるためのおまじない
である.
- 2行
- プログラムの見た目を良くするための空行である.なくても良いが,あった
方が,かっこいい.
- 3行
- main関数のはじまりを表している.main関数の動作内容は,3行〜
9行で,{ }の中に書く.これもおまじないである.
- 4行
- main関数の動作を記述するはじまりの括弧.これもおまじない.
- 5行
- プログラムの見た目を良くするための空行.無くても,プログラムは動作す
るが,あった方が,良い.
- 6行
- ディスプレイに表示せよ--とコンピューターに命令している.
- 7行
- プログラムの見た目を良くするための空行.無くても,プログラムは動作す
るが,あった方が,良い.
- 8行
- おまじない.
- 9行
- main関数の動作を記述する終わりの括弧.これもおまじない.
6行目を除いて,ほとんどおまじないである.6行目のみが動作を記述している.プログラ
ムの6行目が動作した時点で,ディスプレイにメッセージが表示される.6行目以外の動作
は現段階で,理解する必要はない.プログラムを動作させるために,絶対に必要なものと
憶えておけば良い.どんなプログラムでも,このおまじないの部分は書かれている.
このプログラムの内容をまとめると,図5のようになる.
図 5:
Hello World プログラムの内容
|
リスト1のうちプログラマーが考えが反映しているのは,
printfが書かれている6行目だけである.それ以外は,おまじないとして,必ず書く.
プログラマーの意志が反映される6行目の書き方を示す.
- printfは,ディスプレイに表示せよという関数である.引き続く括弧(
)に従い表示を行う.
- 括弧内のダブルクォーテーション--記号 "--の中を表示する.
-
nは改行を表す.この記号で,ディスプレイ上で改行する.
- 最後のセミコロン--記号 ; --は文の終わりを示す.
図 6:
ディスプレイに表示させるprintf関数の意味
|
Hello Worldのプログラムの動作について,説明した.しばらく作成するプログラムの基
本構造は,このHello Worldプログラムと同じである.おまじないの部分とプログラムの
動作内容を書く部分からできている.おまじないの部分は,プログラムを動作させるため
に必要と憶えておいて,いつも最初に書くようにすれば良い.そして,おまじないに挟ま
れた部分に動作させる内容を記述する.図
7のようにプログラムを書くこ
とに心がけよ.
図 7:
プログラムの書き方.おまじないの部分は,気にしないでそのまま書く.
|
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年5月2日