
C-room では、C 言語の基礎を学んでいくわけですが、そのレベルは入門者向けとなっていますので ご理解ください。
システム開発に利用されるプログラミング言語は、数限りなく存在します。常に進化し、多種多様の
特質を持ち、より使いやすいものが生まれ続けています。時代遅れの言語は自然淘汰され、利用価値の高い
言語が生き残っていくという流れの中、有名なBasic もあれだけ愛されながら、現在ではほとんど見かける
ことができなくなりました。C 言語もその例外ではなく、すでに時代遅れだという声が聞かれます。しかし、
裏腹に今も尚、プログラミング世界の扉を開いた人は例外なく、C 言語の習得という道を一度は通るのです。
なぜ、C なのか?
その答えはC の自由度にあります。ある意味、何でもありなのです。C 言語には、
その仕様から広い可搬性があると言われます。現在、主流の言語JAVA には、プラットフォームに依存
しないという特質(要するにどこでも動くということ)がありますが、実際にはJavaVM と呼ばれる
プラットフォームごとの仮想マシンが必要となります。この仮想マシンは、ほとんどといって良いほど
C 言語によってプログラミングされています。SunMicrosystems 社の仮想マシンKVM もC 言語で作成されて
います。これほどまでにC 言語が浸透した理由、それが自由度の高さなのです。それというのも、C 言語は
('C 言語のはじめて物語の項'で説明しますが、)現行のOS の祖ともいうべきUNIX を開発するために生まれた
ので、それ以降UNIX の血を少なからず受け継いだ全てのOS にはあらかじめC 言語の開発環境が整っています。
それゆえに高い可搬性に恵まれ、そしてOS 開発用という性質上、その可能性は未知の領域に達します。
シンプルな仕様が驚くほど高い自由度を生んだのです。だからこそC 言語は現在でも第一線で輝き続ける
ことが出来るのです。
C 言語を習得することが出来たとき、そのシンプルで美しい構造が驚くほど多くのことを吸収させてくれて
いることでしょう。ステップアップには十分な基礎固めと、上達への意欲を必ずや植え付けてくれるでしょう。
C 言語は学習用素材としても最高なのです。
ここではまず、C 言語理解への導入部分として、世界中に何冊あるか分からないC 言語について書かれた
書籍と同様、C 言語の歴史とその特徴などについて記述します。C 言語の歴史を学ぶことは学習する
上での予備知識として、非常に重要なことです。なぜなら、C 言語がどういう言語なのかということが
分からないと、学習方法を見出せないばかりか目的に沿ったプログラムの作成は困難になります。
ただし、他では書いていないことや真新しいことは何一つ記述しておりませんので、そんなことは
もう知っているという方は、INDEX から他の章に進んでください。
C 言語を学ぶには、やはり自分でプログラムを書きながら覚えるのが一番手っ取り早いでしょう。習うより 慣れろというように、自分のパソコンにC 言語の開発環境を整えて自分の目で確かめながら学習することに します。用意した各章では、サンプルプログラムを元に解説していきます。
|
|
| コンパイラはプログラムの翻訳機のようなものです。C コンパイラはいろいろと存在しますが、選び方に よってその性能や使い勝手はそれぞれ違いますので、コンパイラ選びは重要です。この章では、まず コンパイラを導入し、オートコンパイルや分割コンパイルといったその後のプログラミングライフを より良いものにするための技を紹介します。 |
|
|
| この章ではC 言語プログラムの基本的な作成手順から簡単なアルゴリズムと、文法を学習します。 データ型、演算子、変数と定数、条件・分岐・繰り返しなどの制御構造、さらに関数の利用などを 中心に解説しています。 |
|
|
|
あの悪名高いポインタを完全にマスターし、逆に武器にしようというのがこの章のねらいです。配列と
構造体をポインタと合わせて学習します。 |
|
|
| この章は応用編として、文字列操作とビット操作、ファイル処理などを扱います。データ構造と アルゴリズムを今一度見直し、メモリ領域とアドレスについて完全に把握し、最終的にはデバッガ(gdb) も利用し統一的なプログラムの作成を目指します。 |
|
|
| 付録としてライブラリ関数の一覧表を作成しました。また『エラーを乗り越えろ!』と銘打って、 エラーへの対処法などを簡単に解説します。 |