本日でC言語の学習も4回目である.ここにきて,脱落しかけている者もいるだろう.能力
に問題があるのではなく,努力不足である.なぜならば,これまで学習した内容は5年生
になるまで,身に付けてないと理解できないものは何もない.数学とは異なり,ここで
の3回の授業内容の積重ねにすぎない.諸君が学習する数学は,13年以上の積重ねが必要
なのと根本的に異なるのである.
コンピューターほど知的な興味をそそる機械は無い.できることは計算に過ぎないが,そ
れをとても高速に行うことにより,不思議な力を持っている.このコンピューターの潜在
能力を使うためには,プログラムを書かなくてはならない.プログラムによっては,世
界を変えることもできるだろう.諸君は,そのプログラムの最初に一歩の学習を行ってい
るのである.プログラムを習得して,大きな力を得よう!!!.
脱落者を減らしたいので,簡単に復習を行う.これまで,学習した内容は以下の通りであ
る.理解している者,あるいは前回に配布したプリントを見ればプログラムの作成ができ
る者は,このあたりは読み飛ばせ.
- プログラムの作成方法とコンパイル,実行
- プログラムの書き方
- C言語の文法をちょっと
プログラムは,意図した通りに動作して,はじめて完成した--といえる.完成にたどり
着くまでには,様々な処理が必要である.C言語の文法を理解する前に,この操作を覚え
なくてはならない.
プログラムの作成方法は,どのようなコンピューターを使っても大体同じである.最初に,
プログラムを入れるディレクトリー(フォルダー)をつくり,プログラムを記述し,コンパ
イル後,実行させる.この4つの動作の繰り返しである.図1にこ
の操作のフローチャートをしめす.
プログラムのみならず,ホームページを作成するとき,あるいは文章を書くときもこれに
似た作業をする.ソース--文章やHTML等--を書いて,できあがりを確認し,気に入らな
いところを修正する--ことの繰り返しである.これらの作業を経た後,完成となる.
図 1:
プログラムの作成手順.フローチャートの横にコマンドを書いてある.ここ
では,workと言うディレクトリーに,hooge.cというソースプログラムを作
成し,機械語のファイルfugaを作っている.
|
さて,図1の作業の具体的な方法を述べる.ここでの作業は4つで,
使うコマンドも4つである.今後,1年間,この作業を繰り返すので,これを身に付けなく
てはならない.
- 作業用ディレクトリーの作成 プログラムをディレクト
リー毎にわけることにより,大量のプログラムを管理する.以下に示す2通りの
方法で,ディレクトリーを作成することができる.
- CUI(Character-based User Interface)を使う方法.ターミナル
2のアイコンをダブルクリックして,ターミナルを開く.そこで,
「cd ディレクトリー」とタイプし,目的のディレクトリーへ移
動する.そして,「mkdir ディレクトリー名」とタイプし,作業用ディ
レクトリーを作成する.
- GUI(Graphical User Interface)を使う方法.デスクトップの「アカウン
ト名+ホーム」と書かれたアイコンを開いて,右クリックの新しいフォル
ダーを選択することにより,作業用ディレクトリーを作成する.
- ソースプログラム作成 ターミナルが開かれていないならば,
ターミナルのアイコンをダブルクリックして開く.ターミナル上で,「cd
ディレクトリー名」とタイプして,作業用のディレクトリーに移動する.そこで,
「emacs ソースファイル名. c&」とタイプして,emacs3 を立ち上げプログ
ラムを書く.最後の& は,emacsを動作させたターミナルから,コマンド入
力ができるようにしている.
図 2:
エディター emacs の実行方法.hoge.cというC言語のソースプログラムを作成する.
|
プログラムを書き終えたら,それを保管する.できあがったファイルを,ソース
ファイルと言う.その中身が,ソースプログラムである.
- C言語を機械語に変換(コンパイル) C言語のファイルを機械語
に変換する.この作業をコンパイルという.コンパイルするためには,
「gcc -o 実行ファイル名 ソースファイル名.c」とタイプする.
図 3:
C言語のソースファイルを機械語のファイルに直すgccの書き方
|
コンパイル時にエラーが発生したら,ソースプログラムを直す.
- 実行 「./実行ファイル名」とタイプして,プログラム
を実行する.
実行時にエラーが発生したら,ソースプログラムを直す.
しばらくの間,諸君が作成するプログラムの構造は,図
5の
ようになっている.驚いたことに,プログラムは,たった3つの要素から構成されているのであ
る.これさえ,わかればプログラムを作成することができる.
- おまじない.図5に示しているように,プログ
ラムの最初と最後に,ワンパターンでこの文を書く.
- 変数宣言.プログラムは,データを処理する.データは変数の中に入
れなくてはならない.変数は,メモリーの一部を使って,データを記憶する.メ
モリーを使う--ということをコンピューターに知らせるのが,変数宣言の役割で
ある.
- 動作部分.プログラムの実際の動作を記述する.
文法もあまり多くを学んでいない.まとめると,以下のようになる.
- 変数
変数を使うためには,型名と変数名を書いた変数宣言が必
要である.しばらくは,文字型と
整数型,倍精度実数型を使う.以下のように,宣言する.
char c, h, moji;
int i, j, seisu;
double x, y, jisu;
- 配列
同じ型のデータがたくさんある場合につかう.配列名と整数の添字で,データにアクセス
できるデータ構造.次のように変数宣言を行うと,hoge[0]〜hoge[99]までの100
個と,fuga[0][0]〜fuga[999][999]の1000000個の整数が格納できる.
int hoge[100], fuga[1000][1000];
- printf()関数
図6に示すように,括弧内( )の指示に従いディ
スプレイに表示させる関数である.%dは変換仕様と言い,変数の値の文字に変
換する仕方を示している.代表的なものを表1にしめす.
表 1:
使用頻度の高い変換仕様
形式 |
変換仕様 |
表示例 |
1文字 |
%c |
a |
整数 |
%d |
123 |
小数 |
%f |
98.1238 |
指数形式 |
%e |
3.98234e-5 |
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成18年5月2日