• ベストアンサー

C言語を独学で習得するには。

C言語を習得したいのですが、どんな本で習得するのがオススメですか? あまり文字が多いとやる気がなくなってしまいますので図解と文がバランスのいいも。ソースの間違いがないもの。(以前使っていた本が間違いだらけでした)最もポピュラーな書き方をしているもの。(これも以前使ってた本は他とは違いクセがありました)を探しています。 文字を表示するのは出来ますが、ポインタ・文字列などはまだ理解が浅い感じです。 プログラミングなどを行う仕事に就きたいと思っていますのでC言語の本質を理解して応用のきいたプログラミングをしたいと思っています。 最終的にはC言語習得後にC++も学びたいと思っていますので、C++についてもオススメの本があったら教えてください。 特に、独学で完成度の高いソフトが作れるようになった方の意見をお願いします。 またタイトルとは別のことになってしまいますが、変数に日本語(漢字・ひらがな・カタカナ)を代入させるにはどうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.5

独学で勉強して、C/C++の本質を理解して、完成度の高いソフトを作れる専門家になりたい、ということであれば、 > あまり文字が多いとやる気がなくなってしまいますので というのは難しいかも…。 基本的に、天賦の才を除けば、 どれだけのよい本(に限らないですが)を読んで、 どれだけのよいコードを書いて、 どれだけのよい経験を積むか。 そしてそれをどれだけものにできるか、だと思いますから。 Cはいくつかあがっているので、 C++に入るころには、Cはマスターしているという前提で、現時点でのC++のお勧め本は以下。 ・プログラミング言語C++(C++言語設計者自身の本) ・C++の設計と進化(これも。「本質の理解」には欠かせないと思う) ・ISO/IEC14882:2003 (言語仕様の規格書) ・EffectiveC++/MoreEffectiveC++/EffectiveSTL(俗にMayers本) ・その他、ピエゾン・エデュケーションの本は軒並み全部目くらいは通す (できれば原書も)

fre-x10a
質問者

補足

少し質問の書き方が悪かったです。 最初のうちは文字が多いと理解できずにやる気がなくなってしまうと思い、まずは図解の多いもの。 そして、大体の内容が理解できたら文字が多くても内容が濃くてよいもので学ぼうと思っています。

その他の回答 (7)

回答No.8

明解C言語 ↓ 独習C++ がいいのでは。最近猫でもわかるシリーズも有名ですね。

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.7

私の場合、C言語はVB→Javaと勉強してきたあと、 C++を業務で使用する際に、ついでに身に付いた言語です。 Javaでオブジェクト指向に慣れ、 C++でポインタの考え方を身に着けました。 実際のところ、 うまい使い方は、STL(検索してみてください。)や、 BoostなどのC++のフレームワークのソースから学びました。 構文解析する能力さえあれば、 へ~~~~~って言ってるだけで、身に付いていくような気がします。 もちろん、自分でサンプルや関数をどんどん作っていくことが 大前提です。

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.6

入門書を既に一冊終えているのであれば、 一度C言語と名前の付いた本からは離れてみませんか? 書籍でポインタや文字列を理解するには、小難しい文面を読み取る文学的才能が無ければ、無理。 と私は考えます。 まず、自らが最初の本で作成したプログラムを大事にしましょう。 ポインタや文字列が良く分からなければ、その章で作成したプログラムを取り出しましょう。 そして、自分の思うがままにそのプログラムを書き換えてください。  ・変数の数を増やしてみる。  ・他の章にあった、変数の代入を試してみる。  ・etc..... 色々と実験的に試してください。 実験に失敗しても、PCは壊れないので安心です。 とにかく「慣れ」ましょう。 そのうち、書籍に書いてある内容が体感として理解できるようになります。 >C言語の本質 自分は物事の本質を書籍から読み取るような文学的才能を持ち合わせません!! と諦めて、試行錯誤する中、慣れで本質を掴みとるのが王道ではないかな?

回答No.4

私は、C言語は 林晴比古さんの 新C言語入門 ビギナー編、 新・C言語入門 シニア編 で勉強しました。 今は、もっぱらC++です。 C++でしたら、 独習C++ Effective C++ を同時に読み進めて勉強しました。 一番いい勉強になったのが、 近藤 嘉雪さんの 定本 Cプログラマのためのアルゴリズムとデータ構造 です。 プログラミングの本には、文法がしっかり書いてありますが、どういう風に使うかが書いてありません。 アルゴリズムとデータ構造を勉強されると、どうやってプログラムを作るか、「データをどういう箱にいれて、どのように操作するか」について理解できて、よいと思います。 せっかくCから学ばれるのでしたら、アルゴリズムとデータ構造の本を学びながら文法を押さえられるとよいと思います。

  • ys10
  • ベストアンサー率33% (1/3)
回答No.3

ちょっと図解とかの要求とはずれますが、 C言語の本質を学びたいのであれば B.W.カーニハン/D.M.リッチー 著 ←C言語を作った人 石田靖久 訳 プログラミング言語C(共立出版) が一番いいと思います。C言語をちゃんと理解してる人なら かなりの確立でこの本をよんでいるのではないかとおもいます。

fre-x10a
質問者

お礼

C言語を作った人の本は読んでおいた方がいいようですが、口コミでは基礎を理解していないと難しいようなので2冊目の本として買っておきたいです。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

> プログラミングなどを行う仕事に就きたいと思っていますのでC言語の本質を理解して応用のきいたプログラミングをしたいと思っています。 「本質を」ということであれば、ある程度ハードウェアよりのことを学ばざるを得ません。お勧めの本は、 「OS自作入門」 ですね。 > 最終的にはC言語習得後にC++も学びたいと思っていますので その方針に決めたのであれば、まずはC言語をしっかり学びましょう。その後のことは、C言語を習得してから考えても遅くありません。 # その頃には、また新しい本も出ていることでしょうし...

fre-x10a
質問者

お礼

OS自作なんてすごくやってみたいです。 近くの書店は売っていなかったので東京に行ったときに 探してみます。 とくにアセンブラも覚えらるのは大きなポイントになりそうです。

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

はあ、そういう方はgoogle code searchで、汎用的なコード探すとかした方が良いのでは? >変数に日本語(漢字・ひらがな・カタカナ)を代入させるにはどうすればいいのでしょうか? 変数っていうか、普通文字列として保存します。 標準入力から持ってくるなら、 http://www9.plala.or.jp/sgwr-t/c/sec08.html 等参考になりますかね? 私事なら、 http://www.kumei.ne.jp/c_lang/ とか結構昔見てましたね。

参考URL:
http://internet.watch.impress.co.jp/cda/news/2006/10/05/13529.html
fre-x10a
質問者

お礼

習うよりなれたほうがいいのですか。 ただ、最初はコードを見ても理解することはきつそうですね。

関連するQ&A

  • どういう順序で言語を習得するのがいいでしょうか?

    こんばんは。 近々プログラミングの本を買ってプログラミングの勉強をしたいと思いますが、どれから入っていけばいいでしょうか? まったくの初心者です。 世間では、C++あたりを習得すると、他の言語への応用も利くとききますが、C言語は難しいというので、VB.NETからいきたいと思いますが、VB.NETでは、後にC言語を勉強するとなったとき、文法からなにからまったく異なるので、後々のことを考えると、まよってしまいます。 どれから習得したほうが効果的でしょうか?

  • C言語習得

    C言語を習得したいんですが、 おすすめの勉強法やサイト、本などが あったら教えてください。 お願いします。

  • プログラミング言語の習得

    プログラミング言語の習得 私は現在SEへの転職目指しております。 特に社内ではプログラミングの業務をしているわけではありませんが、 独学でC言語の学習をしております。 (就職前にVBを学習、C言語は1ヶ月前からはじめ参考図書「猫でも分かるC言語」を通して 学習し終えた段階です。) プログラミングの言語は多数存在する昨今、どの言語を習得すべきなのか、 このままC言語を学習し続けていいものなのか迷っております。 目標や用途によって習得すべき言語は異なってくるということは耳にしますが、 実際C言語のプログラミングでは何ができるのでしょうか?

  • プログラミング言語の習得順?

    C++は、Cを習得していないといけないのでしょうか??それとも、いきなりC++から習得できるのでしょうか? 例えば、ロシア語と中国語は、(言語の習得という点で)どちらを先に勉強しなければいけないということはないと思うのですが、プログラミング言語の場合、数学のように、1次方程式より先に2次方程式を習得することはできない、というようなことがありそうだと思って質問しました。 C++が必要になり、勉強しようと思っているのですが、言語間の関係がわからないので、ご教授くださいませ。 プログラミング初心者です。

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

    プログラミング言語の習得について こんにちは。某大学の理工学部数学科に通う4年生です。 プログラミング言語について質問させていただきます。 僕は先日基本情報技術者試験を受験しました。 その試験ではプログラミング言語を1つ習得しないといけなかったためC言語の入門書を一冊勉強しました。 今家にはC++とJavaの入門書、C言語の中級書もあります。 そこで質問なのですが、 続けてプログラミング言語を勉強するには、C言語の中級書、上級書というように1つの言語を徹底的にマスターした方がいいですか? それとも、C++、Javaの入門書を一通りやってC以外の言語も一応使えるようにした方がいいですか? ちなみに大学院に進学する予定なのでまだまだ勉強できる環境にあります。 宜しくお願いします。

  • C言語の理解を深める

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

  • 言語の習得

    最近、Appleの開発言語であるSwiftを習得しようと、いろいろ書籍を調べ始めたところです。 以前、Objective-Cを習得しようとした時もそうでしたが、言語の説明に的を絞った書籍が非常に少ないと思います。開発環境であるXcodeの使い方や、フレームワークの説明が混在したものが殆どで、個人的には非常にわかり辛いと思っています。 大昔、MicrosoftのVisual C++の習得した時も同様で、開発環境の仕様と、MFCの仕様と、C++の言語仕様の境目が、初心者だった私にとって分かり辛かったと記憶しています。 そこで質問なのですが、こういう開発環境、スレームワーク、言語を並行して説明された方が、一般的には理解しやすいものなのでしょうか。

  • C言語について

     プログラミング言語について質問があります。今、C言語を練習中ですが、C言語に関する本を見ると、大体、(入門者用の教科書しか知らないのですが)ファイル操作とか、構造体とかの説明とかで、終わっています。それで、自分はWindowsでグラフィック操作(例:動画とかを扱う)とかの、プログラムを組みたいのですが、C言語でそれができるのでしょうか。それともC++言語とか、Javaとか他の言語を習得しなければいけないのでしょうか。また、欲張りますが、C言語でグラフィック操作ができるのなら、どんな本を読めばいいのでしょうか。解らなかったので、投稿しました。よろしければ、回答宜しくお願いします。

  • 最低限習得しなければいけないプログラミング言語

    僕は今C言語を勉強していますが、C言語はどの程度扱えるようになれればいいのでしょうか。 あと、他のプログラミング言語の中で習得しておかなければいけないものと、どの程度扱えればいいのか教えて下さい。お願いします。

  • プログラム言語の習得およびお勧め

    お世話になります。 最近、転職を多少念頭において、プログラミングの勉強をしようと思っているのですが、どの言語がこれからの時代必要かまたはお勧めか、また方向性についてご教授お願いします。 ちなみに、以前unix-cプログラミングとネットワークの仕事をしておりましたのでC言語等の知識はあります。 (現在は別の職種です。) プログラム言語の習得について違う方も同じような質問されていて重複すると思いますがよろしくお願い致します。

専門家に質問してみよう