- ベストアンサー
C言語の勉強法
VB,C#等の言語ができ、一応プログラミングの基礎を持っていると思っている者です。 仕事上でC言語と縁がありますが、書いた人によっても千差万別で、意味不明な標準関数?だらけで、コンパイラごと文法も異なり、訳の分からないフレームワークも得体しれずにいます。 VBはTips555みたいな小技がたくさん掲載されている本を熟読し、ひたすら真似しているうちに身につきました。C言語はアルゴリズムや入門書は多数見受けられますが、実用的な本はあまり見かけません。みなさんはどうやってC言語を覚えたのでしょうか。 お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
言語関係ないでしょう。 VBやC#は(実質)MS社製の1つしかありません。 また、現行バージョンは、どちらも.NETframeworksを使用しており、「XXをするなら、この関数でこの引数」というのが共通になります。 VBでもC#でも「書いた人によっても千差万別」です。 上のような事情があるので、極端に違うものになりにくいだけです。 他の言語にはその言語での「標準関数」があり、フレームワークも複数あります。 不勉強なら「意味不明な標準関数?だらけ」「訳の分からないフレームワークも得体しれず」となるのは当り前です。 > コンパイラごと文法も異なり、 これは、コンパイラのコマンドライン引数のことでしょうか? それならたしかに違います。 しかし、これも、VBやC#は(実質)MS社製の1つしか無いから、そう感じるだけでしょう。 C言語でも、-Oで最適化、等は結構共通だったりします。 そのTips555というのは読んだことありませんが、主なものは .NETframeworkの関数の使い方、「XXをするなら、この関数でこの引数」というのが多かったりしませんか? C言語では、その関数自体を作成する、という場面が多いと思います。 そうなると、小技よりは、アルゴリズム等の基礎と、それを組合せる応用力が大切になります。
その他の回答 (4)
> みなさんはどうやってC言語を覚えたのでしょうか。 私の場合,最初は入門書をひたすら読んで練習し,小さいプログラムを作ってました. 次にいくつかOSを渡り歩き,gccをはじめとするgnuの数多くのツールを持ってきてコンパイルしてみたり,拾ってきたパッチを当ててはコンパイルエラーと格闘し続けました. その後は優れた先輩方の成果物を参考にしながら,C言語のプログラムを設計したり,コーディングするようになりました. 以上を一言でまとめてしまうと「慣れ」です.
- zwi
- ベストアンサー率56% (730/1282)
tips555なんてちょっとした技が書いてあるだけじゃないですが。VBやC#でもそうですが文法の入門書を読まなくては太刀打ち出来ないことがたくさん出てきます。 独習C#とか文法メインの入門書は読まれたことはないんでしょうか? それと同じでC言語も文法書を読みましょう。 ※ 私にはC#がある程度出来た人にC言語が出来ない理由がわからないです。ポインタなら分かりますが関数でとは・・・。 >コンパイラごと文法も異なり 文法は規格統一されています。 規格から少し外れていて個性的な機能があるのは一部のマイコン系のC言語ぐらいです。 >訳の分からないフレームワークも得体しれずにいます。 C++のフレームワークだと千差万別ですがC言語のフレームワークはさほど多くないでしょう。
- im_not_ok
- ベストアンサー率25% (3/12)
「実用的な本」の定義がよく分かりませんが、標準関数は勉強して使いこなす必要があります。 文法はコンパイラが異なっても「同じ」です。若干の方言はありますけど。 以下、参考になれば。 C言語 FAQ 日本語訳 http://www.kouno.jp/home/c_faq/ プログラミング言語C 第2版 http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/64-46546-22/ S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル http://www.amazon.co.jp/exec/obidos/ASIN/4434124234/64-46546-22/
- wormhole
- ベストアンサー率28% (1626/5665)
>仕事上でC言語と縁がありますが、書いた人によっても千差万別で、意味不明な標準関数?だらけで、コンパイラごと文法も異なり、訳の分からないフレームワークも得体しれずにいます。 C言語とは別の言語の事でしょうか? C言語の標準関数で意味不明なものはないと思いますし コンパイラごとに文法が異なるということも基本的にはありませんが。 フレームワークは、その設計思想を理解してないと訳わからないのはどの言語でもいっしょのような。 >C言語はアルゴリズムや入門書は多数見受けられますが、実用的な本はあまり見かけません。みなさんはどうやってC言語を覚えたのでしょうか。 「プログラミング言語C」や「C MAGAZINE」の連載記事、後は各種ソフトウェアのソースコードを読んででしょうか。 実用書的なものはほとんど読んだことないです。
お礼
VBやC#と違い、C言語はいろんな会社が作って、いろんなフレームワークがあるのですね、ものすごく納得しました。