昔風の言い方で或問形式、今風の言い方でFAQ形式で、このページを作ってみました。
C言語を学ぶために必要な基礎知識は何かありますか? |
|
英語が苦手なのですが、C言語を学ぶ上で支障がありますか? |
|
数学が苦手なのですが、C言語を学ぶ上で支障がありますか? |
|
初めて学ぶプログラミング言語として、C言語は本当に適切なのでしょうか? |
|
C言語を学ぶのはヘビーだとよく聞きますが? |
|
C言語を学ぶだけで、プログラミングができるようになりますか? |
|
どのような手順でプログラムをつくるのですか? |
|
Cでプログラムを作るにはどのようなパソコンが適していますか? |
|
お勧めのコンパイラはありますか? |
|
無料でダウンロードできるコンパイラがあると聞きましたが? |
|
C言語の教材としては、この講座の教材だけでよいでしょうか? |
|
この教材は複数の人間によるソフト開発に対応していますか? |
|
ウインドウズ対応の教材とありますが、マッキントッシュではだめですか? |
|
C言語講座初級から中級までとありますが、何をもって初級の終わりなのでしょうか? |
|
この講座を終了すると、どの程度の実力がつきますか? |
C言語を学ぶために必要な基礎知識は何かありますか? |
|
A1. |
特にはありません。ハードウエアやOSにつきましては、必要になった時点で必要な分を学べばよいと思います。C言語でプログラムを作るには論理的思考が必要です。それにつきましても、学んでいく過程で自然に鍛えられていくでしょう。 |
英語が苦手なのですが、C言語を学ぶ上で支障がありますか? |
|
A2. |
C言語はアルファーベットと数字や記号やスペースを使って記述します。英語に似ているかも知れません。しかし、決して英語ではありません。コンピュータの理解できる言語(0か1)と、私たちの使っている言語の間にあるのがC言語です。英語ができるに越したことはありませんが、C言語を学ぶ上では英語は必要条件ではありません。 |
数学が苦手なのですが、C言語を学ぶ上で支障がありますか? |
|
A3. |
C言語はプログラム言語です。コンピュータの理解できる言語と、私たちの使っている言語の間にある言語です。数学ができるに越したことはありませんが、C言語を学ぶことは言語を学ぶことです。直接、数学と関連しているわけではありません。 |
初めて学ぶプログラミング言語として、C言語は本当に適切なのでしょうか? |
|
A4. |
パスカルという言語があります。アルゴリズム(問題を解くための方法を適切に順を追って記述したもの)を記述するのに適しているので、教育用の言語として一定の成功を収めていました。パスカルを勉強して、次いで、より実務に適したCを学ぶという流れが過去にはありました。現在ではパスカルはすたってきて(MacintoshのOSはパスカルで書かれています)、教えられる人も減る傾向にあります。パスカルを学ぶと、より時間がかかります。パスカルは記述がやや冗長で、プログラムを見ても一目でそれが何をするかはわかりません(可読性が悪いといいます)。Cは可読性がよいだけでなく、アルゴリズムを記述するのにも適しています。マックのヘビーユーザーは別にして、最初に学ぶ言語として、Cを勧めます。 |
C言語を学ぶのはヘビーだとよく聞きますが? |
|
A5. |
そんなことはありません。確かに、ポインタが理解できなくて挫折したという話をよく聞きます。プログラムを動かすということは、データを処理することと同じです。ポインタに限らず、扱っているデータがメモリ上のどこに存在しているかを常に意識して、学習すればそれ程困難とは思えません。この講座は全般に渡ってこの点を重視して制作されました。 |
C言語を学ぶだけで、プログラミングができるようになりますか? |
|
A6. |
C言語は高級言語なので、ハードウエアに関する詳細な知識は必要ありません。しかし、C言語は低級な操作(メモリにより近い操作)も得意なので、ハードウエアに関する基礎的な知識が必要です。また、OSについての知識もある程度必要です。学習の過程で、必要に応じ勉強されることをお勧めします。 |
どのような手順でプログラムをつくるのですか? |
|
A7. |
基本的には、自動車などを作るのと同じです。まず、プログラムの流れを適切に順を追って記述します。それを機能毎に分解し、それ以上分解できない単一の機能まで分解します。次いで、単一の機能を持つ部品(小さなプログラム)を作って、テストをくり返し、正常に動くことを確認しながら順次それを組み立てます。 |
Cでプログラムを作るにはどのようなパソコンが適していますか? |
|
A8. |
それ程高機能な機種でなくてかまいません。ちなみに私のところでは、捨てようとした人からもらったMacintosh II(16MHz)やMacintosh LCIII(25MHz)などの現在では骨董品となってしまった機種も、最近まで現役で動いておりました(^_^;)。ただ、長時間使用する可能性が高いので、疲労しやすいノートパソコンよりも、デスクトップ型をお勧めします。学習が進むと、一度に複数のソースプログラムを見ることになるので、置き場所が許せば画面はできるだけ大きい方が良いです。 |
お勧めのコンパイラはありますか? |
|
A9. |
特にありませんが、個人で使用するならANSIに100%準拠したモードがある、日本語対応のなるべく安いものが適当でしょう。日本語に対応していないと、この講座の教材は日本語を表示するものがあるので、字化けしてしまいます。過去には(1980年頃)コンパイラにはバグが多く苦労しましたが、最近のものは安定しています。 |
無料でダウンロードできるコンパイラがあると聞きましたが? |
|
A10. |
ここに紹介しておきました。ダウンロードの方法や使い方について、LSIC−86の使い方で説明しています。ただし、このコンパイラはウインドウズのようなGUI(Graphical User Interface)ではなく、一時代前のCUI(Console User Interface)という環境で使うことになります。そのため、コンパイラのセットアップと使用に際して、MS−DOSの知識が必要になります。MS−DOSをご存じない方は、かなり苦労すると思います。 |
C言語の教材としては、この講座の教材だけでよいでしょうか? |
|
A12. |
教材の扱っている問題につきましては、片寄りのないように注意深く作っております。今までに内容に片寄りがあるというクレームはいただいておりませんが、万一のことを考えて、参考書として、プログラミング言語C第2版(訳書訂正版) 著者 B.W.カーニハン/D.M.リッチー 訳者 石田晴久 発行日 1989年6月15日 初版1刷発行 発行元 共立出版株式会社 定価 2800円(Programming Language C, 2nd Ed. Kernighan & Ritchie, Prentice Hall.)を勧めます。この本はバイブルと呼ばれ、C言語を扱っている職場ならどこにでもあります。この本は初心者が読んでスラスラわかるようには書かれておりません。C言語の学習がある程度進んだ段階で、辞書として使用することをお勧め致します。 |
この教材は複数の人間によるソフト開発に対応していますか? |
|
A13. |
対応しております。大がかりなプログラムは複数の人が分担して作ります。また、プログラムの保守は別の人が行うことが多いです。そこで、他人が見ても見やすいソースプログラムを書けるように、コーディングスタイルとコメントの入れ方について重視したテキストになっています。個人が趣味でプログラムを作る場合でも、将来プログラムを直す必要が生じた時、そのようになっていれば楽です。 |
ウインドウズ対応の教材とありますが、マッキントッシュではだめですか? |
|
A14. |
この教材はマッキントッシュで作られました。ほとんどの教材はマッキントッシュでコンパイル可能ですが、時間に関する教材につきましては異常な値が表示されます。関連するヘッダーファイルを見て、教材の数行を書き換えれば対処できます。 |
C言語講座初級から中級までとありますが、何をもって初級の終わりなのでしょうか? |
|
A15. |
初級がどこまでか、はっきりした定義はないようです。プログラムを動かすということは、データを処理することと同じです。Cでは様々なデータの型があります。また、メモリ上のどこに置くかで、記憶クラスというものが異なります。大部分の型と記憶クラスを理解し、ポインタも簡単なものなら使えるが、高度な使い方(ヒープ領域にメモリを割り当てるなど)をするとバグのためプログラムが暴走してしまう(^_^;)。このくらいを初級とさせていただきます。 |
C言語講座初級から中級までとありますが、何をもって中級の終わりなのでしょうか? |
|
A16. |
中級がどこまでか、はっきりした定義はないようです。Cではプログラムを実行時に、必要になったメモリを確保する(メモリの動的割り付け)ことがあります。このようにして得た変数には名前を付けることができません。そこで、ポインタを使って初期化(ゼロを代入すること)したり、読み込み書き込みをしなければなりません。また、不要になったらメモリを解放しなければなりません。これらの操作を間違いなくできること(バグがあると暴走します(^_^;))が求められます。ポインタをさすポインタを使うなど、高度なポインタの使い方ができる。様々なソート(データをある規則に従って並び替える)のアルゴリズム(問題を解くための方法を適切に順を追って記述したもの)を理解し、使いこなすことができる。他人が読んでもわかりやすいソースプログラムを書ける(チームで仕事をする際必要)。以上を中級の到達点とさせていただきます。 |
この講座を終了すると、どの程度の実力がつきますか? |
|
A17. |
あなた次第ですが、この講座を充分に理解したら、という仮定でお答えします。この講座では特定のOSやコンピュータでのみ動くプログラムを扱っておりません。日本語処理もこれに当たります。これらの学習はこの講座を終えていれば、さほど困難ではありません。この点を克服し、あとはその職場固有のプログラム制作の約束事を理解すれば、現場でどうにか実務につくことができると思われます。もちろん、最初はかけ出しのCプログラマーなので、更なる学習を続ける必要がありますが。 |
/* (C) 2000- YFプロ. All Rights Reserved. */ 提供:C言語講座−それ自体コンパイルできる教材を使った講座です−
−このサイトの背景色は鳥の子色です。−