• 締切済み

C言語の理解を深める

僕はC言語を大学で学び始めて2年ぐらい経ちます。授業ではデータベース、深さ優先アルゴリズムなど広く(しかし浅く)学んできました。よりC言語の理解を深めるためにあらたにC言語の応用編の参考書を見たりしようかと思ってます。 ここで質問ですが、現在プログラマーの人やプログラミングを学んでいる皆さんは、一体どのような勉強法で理解を深めているのですか? また以前を振り返って学生時に挑戦したりやっておくとよかったことは何だったとおもいますか? たくさんの回答お待ちしています、ご協力お願いします。

  • 45929
  • お礼率83% (10/12)

みんなの回答

  • m_mik
  • ベストアンサー率26% (31/117)
回答No.3

理解を深めたというわけではないかもしれませんが… ・作ったプログラムからライブラリ化 作ったプログラムで自分の中でだけでも共通で使えそうな処理を抜き出して、ライブラリ化していました。 今後、自分が楽になるというのもありますし、どのような感じで共通化していけば良いのかとか、どの程度の大きさで共通化していけば良いのかが解かったと思います。 ・プログラムの最適化 根が貧乏性のためか、どんなプログラムでも1クロック(おおげさですが)は速くなると信じて書き直したりしています。 そのためには違うアルゴリズムを考えて作ったりして、実行してさらに書き直したりと… こうすることにより、自然に色々なパターンのプログラムを作れるようになったと思います。 学生時代にはやっておけば良かったと思うことより、今のところは学生時代に習った内容をもっときちんと覚えておけば良かったとおもうことはあります。 三角関数だって習ったはずなのにきれいに忘れていたり、ド・モルガンの法則を忘れていたりなど…

45929
質問者

お礼

最適化という言葉は知っているのですがそれを取り入れてプログラムに反映させるというのはどんなことになるのかよくわかりません。 というのもまだそこまで長いプログラミングを書いたことがないためです。想像ですが企業のプログラムで最適化を取り入れることで時間、人、コストを抑えることができるので大事だと思うのですが、一体どんなことをしているのでしょうか?もし知っていたら教えてください。 ご回答ありがとうございました。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.2

C言語を理解するのに役に立ったとおもうことは 1)アセンブラ言語の学習 2)GnuのCコンパイラ解析と機能追加 3)市販データベース(C言語ソース)の解析と機能追加 4)Linux環境の構築 特に3は、C言語の初・中級の書籍ではお目にかからないコーディングがあったり、巨大ソースの読みこなし方とか、とても勉強になりましたね。現在はもうそのDBのソースソード販売はやってないようです。でもMySQLなど、フリーなDBでソースを見ることができるものは多いので状況は良くなっていますよね。 ちょっと関係ないですが、学生時代には、ハンダゴテを握ってラジオやアンプを作っていたので、パソコンに接続するI/F基盤の自作などを通じて、パソコンがより理解できるようになりましたね。

45929
質問者

お礼

市販のデータベースを解析するのは面白そうですね。プログラマーの作ったプログラムとかみるとおもしろそうですね。リナックスのソースを手始めに見物しようかと考えます。 学生時代にハンダコテをつかってラジオを作ったのはすごいですね。 今のお仕事は何をされているのか気になるところです。 参考になりました。

noname#39970
noname#39970
回答No.1

他人のコードを見て処理を追ってみる事を良くやった。 つまり打ち込んで実行させるのではなく、「これはこう動く筈だ」と追いかける。 これは教科書の例題のようにあまり長くない物の方がやりやすい。 他には「scan以外でキー入力はどうするんだろう」とかを調べて簡単なゲームに挑んだりした。(UNOとか) 言語の理解も大事だけど、どのように組立てれば良いのかを学んだ方が良い。

45929
質問者

お礼

ご回答ありがとうございます。 どのように組み立てるのかイメージしながらプログラミングするのはいいことだとおもいます。あと、あそびの要素を取り入れることで飽きずにまなべますね。 参考になりました。

関連するQ&A

  • C言語が解りません。。。

    こんにちは。 現在、僕は30歳でコンピュータの専門学校に通ってます。 当初、プログラマー志望でしたが、C言語が解らないので、プログラマー職には就けそうにないです。 最初の授業を休んでしまい基礎が身に付いてないので、今ではC言語が全然解らなくなりました。 自宅でのC言語の勉強方法は、教科書や参考書を読んで勉強する方法です。 自宅のパソコンでは、実際に実行コンパイルする方法が解らないので、教科書などを読んで勉強してます。 この方法だと、構文などの基礎的な事は解るのですが、応用が解りません。 この方法だと、いくら教科書を読んで勉強しても、自由にプログラムを書ける様になるとは思えないです。 専門学校を卒業するまでの、残り約半年間でこの方法で僕は、C言語をマスターできるでしょうか?。 マスターできればプログラマーを目指そうかなと思ってます。 良ければアドバイスお願いします。

  • C言語の資格取得について

     C言語プログラミング能力認定試験(の2級)というものを受けてみようかと思うのですが、1級は応用プログラムを作成できる程度。2級は小プログラムができ、基本アルゴリズムを理解している程度。と紹介されていました。  受験するなら、問題集などを買って勉強したいのですが、それ以前に2級の小プログラムとはどの程度のプログラムなのでしょうか。  受験したことがある方はなんでもいいので教えてください。

  • C言語の教科書についてのアドバイス

    現在、C言語によるプログラミング 応用編 (出版社・Ohmsha)をつかっていました。(基礎編も使っていました) 初級から中級・上級へとステップアップしていきたいのですが、どういった本が良いのでしょうか?? ご指導お願いします。

  • プログラミング(C言語)の勉強について

    情報系の大学1年生です。現在C言語のプログラミングの授業を受けています。 前期C言語の基礎を勉強したのですがいまだによくわかりません。 と、いいますのは、基礎の基礎のプログラムの書き方はわかりますが、難しくなると自分で書けないということです。 授業の課題が自力でできないので、友達のを写させてもらい(ほんとはいけないことはわかっています)、とりあえず提出し、あとでそのプログラムを理解する、というやり方で前期はなんとか乗り越えました。 現在、授業はアルゴリズムに入り、ますます授業についていけなくなり、情けない話ですが友達の書いたプログラムすら理解できないという状況です。 しかし、このままではまずいという思いと、もっと自分で思ったようにC言語を使えるようになりたいという思いから、今質問させていただいています。 C言語の入門書(柴田芒洋・明解 C言語入門編)を読んでいてもパソコンの知識が乏しいため、メモリや処理系など、何がどうなっているかわかりません。 ・C言語を理解するためにはある程度のパソコンの知識は必要ですよね? ・こんな私にも理解できるようなわかりやすい書籍はありますか? 今の自分の能力から考えて、授業の課題を一人でできるとは思いません。もちろん自分で書く努力はしていますが、コンパイルの時点で大量のエラー、実行してもきちんと結果がでません。エラーが出ればまだ修正できますが、実行しても結果がでない場合、自分でミスを見つけられません。 ・友達のプログラムを見せてもらって、後で理解するという勉強法には問題があると思っています。しかし、抜け出すにはどうしたらいいのでしょうか? ・本で勉強しても自分で書いてみなければ身につかないと思っているのですが、何からやればいいんでしょうか?ちなみにプログラムを書く環境はあります。 まとまりのない質問で恐縮ですが、ご指導よろしくお願いします。

  • プログラミング言語について

    僕は今中学2年生で将来プログラマーになりたいと思っています。 今、僕はC言語を毎日2時間は勉強してるんですが、応用力がまったく身につきません、やっぱりプログラミングには向き不向きがあるんでしょうか? プログラマーになるにはやはり才能が不可欠なんでしょうか? どうか、教えてください、お願いします

  • c言語について

    僕はc言語どころか、プログラミングについて何も知らない初心者です。 ですが、こんな僕でもc言語でプログラミングが書けるようになりたいです。 その為にc言語の教科書(明解c言語)だけは買ったのですが、 そのc言語を書くためのアプリ的なものは何を使えばいいのでしょうか。 また、c言語を学ぶ前に「これを習ってなかったら、c言語は出来ないよ!笑」的なものはありますか? (小学校の九九が出来ないのに、中学の因数分解は出来ないよね!みたいなものです) それを学ぶためのオススメの参考書があれば、そちらも教えて欲しいです! また、オススメの勉強法があれば知りたいです! よろしくお願いします。

  • 「改訂 C言語によるはじめてのアルゴリズム入門 河西朝雄」を持っているプログラマ

    「改訂 C言語によるはじめてのアルゴリズム入門 河西朝雄」を持っているプログラマの人に聞きたいのですが、このアルゴリズムをマスターしなければ一般的なプログラマになれないのでしょうか?またどれくらい出来ていればいいのでしょうか?

  • C言語を学びたい

    C言語を学び、エンジニアやプログラマーになりたいと思っています。 サイトで、学びたいのですが、無料で参考になるサイトが 有りましたら教えてください。 よろしく、お願いいたします。

  • C言語のアルゴリズム

    C言語についての質問です。 C言語の足しこみのアルゴリズムを書く課題が出されたのですが、どうやって書けばいいのかわかりません。 この意味もあんまり理解できないんです…。 この文章の意味、もしくはどう表現したらいいのか教えてください。 お願いします。

  • C言語 参考書

    こんばんは。いつもお世話になっております。 先日、明解C言語入門と猫でも分かるC言語入門を購入しました。 内容の方を見ていったのですが既に殆どを理解した内容でした。 この発展というか、もう少しステップアップした内容を勉強したいのですが、分かりやすいものなどありますでしょうか? 方向性としては、ウィンドウズプログラミングというか コンソールからステップアップしたようなものを希望しています。 実際にウィンドウを作成し、凄い簡単なメモ帳の作成を目指したりなど。 中級編の入門というか、そのようなものを探しています。 分かりやすい参考書などあればお教え願えますでしょうか。 じっくりと読みながら学びたいので、書籍を希望しています。

専門家に質問してみよう