• ベストアンサー

C言語、C++を始めたいのですが

個人的にC言語、C++、アセンブラを勉強したいと考えているのですが どういった順序で手をつけていった方が分かり易いでしょうか? また、それぞれを始めるにあたってオススメの入門書・参考書など ありましたら教えていただけるとありがたいです。 ちなみにプログラミング経験はJavaの基礎を少しかじった程度なので ほとんどゼロとお考え下さい。

  • sypan
  • お礼率81% (18/22)

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

  • ベストアンサー
  • Yam_T
  • ベストアンサー率68% (37/54)
回答No.4

回答No.2のgalludaさんが仰っているようにアセンブラはCASL(キャスル)IIから始めたらいいかと思います。私が通う学校の講義でもCASLIIを取り扱いました。参考書は基本情報処理技術者試験用の参考書ですが、プログラムの構造などを理解しやすいようにできています。 CASLII完全合格教本:http://www.shin-sei.co.jp/np/isbn/978-4-405-03131-9 C言語の参考書としてはソフトバンクより出版されている林晴比古シリーズが分かりやすいかと思います。スーパービギナー編もあるのですが、そちらは特に見なくてもいいかと思います。 新訂 新C言語入門 ビギナー編:http://shop.sbcr.jp/bm_detail.asp?sku=4797325615 C++の参考書としては技術評論社より出版されている本が分かりやすいと思います。C言語の知識がなくてもC++に挑むことができるように書かれているので、C言語と平行して勉強してもいいかと思います。 はじめてのC++:http://www.gihyo.co.jp/books/syoseki.php/4-7741-0843-X 全て私の経験からの参考文献で、いずれも少し値が張りますが、参考にしてみて下さい。 C言語&C++の開発環境を作るときにはCPadというソフトを使うと非常に便利です。こちらも併せて参考にしてみて下さい。 CPad:http://hp.vector.co.jp/authors/VA017148/pages/cpad.html

sypan
質問者

お礼

回答ありがとうございます。 今度書店に行ったときにでも挙げられている書籍を探してみようと思います。

その他の回答 (4)

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

議論しても質問者さんを混乱させるだけなのですが... CASLIIは、ワードマシンということもあり、C/C++を睨んで学習する場合にはやや隔たりが大きいかも知れません。また、実在しないハードウェアの仕様なので、シミュレータ以外では動かすことができないのも魅力に欠けます。 私としては、むしろ#3の方が推薦しておられる秋月のH8ボードなどを、自分でハンダ付けしながら扱った方が、コンピュータというものをより本質的な部分から理解できるかと思います。CPUとか、メモリとか、クロックとかを、実際に現物を見ながら扱えるわけですから。ハンダ付けが悪くて動かなかったり、変な動作になるのも、また貴重な経験です。

sypan
質問者

お礼

回答ありがとうございます。 もう少し色々と調べてみてから、一回秋葉へ行って見てこようと思います。

  • roygbiv
  • ベストアンサー率14% (1/7)
回答No.3

アセンブラをもと言う事なら、ANo1の方同様アセンブラから先に勉強した方がよいでしょう。そうすれば初心者に難関と言われるC言語のポインタの考え方も理解が速いと思います。H8あたりがよいのでは。ポートに接続されたSWの入力やLEDの点灯だけでも最初のうちはかなり遊びながら学習できると思います。秋月あたりで色々なマイコンボードが入手できます。財布に余裕があればですが。後々役に立つ知識を蓄えると言う意味では決して高くないと思います。

sypan
質問者

お礼

回答ありがとうございます。 予算の兼ね合いもありますが、参考にさせていただきます。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 アセンブラをやるのでしたら、まず一度、CASL IIあたりから入られると随分と楽だと思います。

sypan
質問者

お礼

回答ありがとうございます。 参考にさせていただきます。

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

> 個人的にC言語、C++、アセンブラを勉強したいと考えているのですが 三つとも習得するつもりなら、アセンブラから勉強した方がいいと思います。 ただし、最初はなるべく簡単な8ビットか16ビットのマイコンを使うようにしてください。いきなり、ハイスペックな機種からはいると挫折すること間違い無しです。

sypan
質問者

お礼

回答ありがとうございます。 他の方も同意見のようですし、アセンブラからやってみます。

関連するQ&A

  • もし仮に5つの言語(Python, Java, C/C++, Perl

    もし仮に5つの言語(Python, Java, C/C++, Perl, LISP、アセンブラ)を学ぶとした場合の学習順序 こんばんは。 もしこの5つを何年かかけて学ぶとした場合、この学習順序をどうおもいますか? ちなみにこの5つの言語は、linuxなどのOSやオープンソースソフトウェアの開発に携わっている方たち(ハッカーの方たち) が、OSや言語開発をするなら学ぶべき言語として主張していました。(クラッカーではなくハッカーです) この方たちがいうには pythonをはじめに学習し、次にjava それからC/C++, Perl, LISP、アセンブラの順番が良いと言っていました。 特にpythonを一番に学び、javaを2番に学ぶべき理由としては↓ まず Python から始めることをおすすめします。設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん対応しています Java もプログラミングを学ぶにはよい言語です。 Python よりはむずかしいですが、できるコードは Python より高速です。二番目の言語としてはとてもすぐれていると思います。 本気でプログラミングをするなら、C を勉強するしかありません。これは Unix の中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に勉強しようとするのには向いた代物ではありません。 それ以外に Perl と LISP があります。Perl は実際的な意味からも勉強しておく価値があります。アクティブ Web ページやシステム管理にとても広く使われているからです。自分では Perl を使わなくても、読めるようにはなっておきましょう。LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LISP そのものをあまり使わなくても。 さらに、visualbasicやC#などはやめた方が良い。と主張しています。↓ ウィンドウズの下でハッキングを学ぶのを、拘束衣を着て踊りを学ぶのに例えたのは、あれは冗談じゃないんですよ。 Visual Basic や C# にはそれぞれ個別に問題があります。その大きなものは、移植性がないことです。マイクロソフトの独占言語だというだけで、もうすでに失格ですし、ほかの Basic と同じく言語としての設計もまずく、悪いプログラミングの習慣が身についてしまいます。 足りなかったのでこちらに。 みなさんはこの順序や考えについてどうおもいますか? 本当にpythonは最初に適した言語なのでしょうか? 長文になってしまい申し訳ありません。 できればひとりでも多くの技術者の意見が聞きたいです。なんでもかまいません。 もし良ければ回答お願いします。

  • C言語もしくはC++言語プログラマになれますか?

    私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。 5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。 私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解できて、やっと自分の役に立つという思考しかできないものです。いきなり高級言語のJavaやらC#やら.NETやらやっても、うわべだけさすってるようで、根本的な理解を得られないので(コンピュータに対する)、無駄だなあとどうしても感じてしまうのです。また、それよりも基礎からしっかり積み重ねた方が後々、新しい言語ができても理解の度合いというかどっしりと理解できるとおもうのです。 しかし、就職のことを考え、PHPやらC#やらJavaやらVB.NETやらを優先してきてどれもどっちつかずになってしまいました。当然Cなども合間をぬってやっていました。 で、私は、そのどっちつかずな状態がいやなので、CとC++に絞って勉強することにしました。で、低級コンパイラの中身やアセンブラも勉強していこうと決心しました。しかし、就職のことを考えると不安です。 あと、1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?自分としては、働ける限り年齢がいくつになってもがんばりたいとおもうのですが、なにしろ世間的にいうと全く遅い年齢です。もし、励ましになるような事もありましたら、ご回答していただければ、うれしいです。よろしくお願いします。

  • c言語について

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

  • C、C++、Peal、PHPその他「高級言語」といわれる言語について

    僕はPICマイコン(16シリーズ)を趣味で使っており 言語はアセンブラを使っています。 で、質問なんですが最近ホームページを作りたくなり LINUXの勉強も含め自宅サーバーを立ち上げCGIをやってみようと思いました。 で、CGIといえばPealだろと思っていたので、その手の入門書や ネットの情報を見ると冒頭には大抵「大して難しくない」的な事が 書いてありました。 実際にやってみたんですがチンプンカンプンでした。 イメージとしては下記のような感じなんだと思うんですが マイコンのアセンブラと比べたらよっぽど低級言語な気がしてなりません。 アセンブラ=低級言語=人間にわかり難い C、C++等=高級言語=人間に解り易い アセンブラもはじめはチンプンカンプンでしたが、ある程度理解してしまえばそれなりに使いこなせるようになりました。 マイコンのアセンブラは命令数も少ないしイエスかノーだけで「もしも~」とかないので単純といえば単純なんですが・・・ 質問1 高級言語の「人間に判りやすい」っていうのは具体的にどういうことなんでしょうか? 質問2 最近やたらとPHPが流行ってる気がします。 もうPealは廃れてしまったんでしょうか?

    • ベストアンサー
    • Perl
  • オブジェクト指向のプログラミング言語の勉強法について

    オブジェクト指向のプログラミング言語の勉強法について お尋ねします。 iPhoneアプリを作ってみたいと思い、最近プログラミングの勉強を始め、C言語の入門書を一通り熟読しました。そして、次にオブジェクト指向の言語を勉強しようと思っているのですが、iPhoneアプリの開発に用いる言語は「Objective-C」で、他にも開発に使用できる言語として、「C++」や「Java」などいくつかあると聞き、どれから勉強すればいいのか迷っています。 Objective-CとC++やJavaでは、技術的(表現力?)に大きな差はあるのでしょうか?それとも、Objective-Cだけでも十分なのでしょうか? そのほか、まだC言語を勉強したばかりでわからないことが多いのですが、ゲームアプリの開発にどのような知識が必要なのか、また効率のよい学習順序、お勧めの書籍など助言を頂ければ幸いです(__) ちなみに、 ・プログラミングの経験は全くありません。 ・はじめはシューティングなど動的なゲームアプリを作ろうと思っています。 ・妥協せず、基礎からきちんと勉強したいと思っています。

  • 基本情報技術者試験のC言語の問題集

    大学3年のKURUMIと申します。 基本情報のC言語について質問があります。 私は去年の秋に初級シスアドを取得し、その流れで春に基本情報を受けたのですが、基本情報の試験を甘く見ておりシスアド並みの勉強しかしなかったために、午後問題で玉砕してしまいました。 理系ではないのでプログラミングは全くの初心者です。 そのため春はプログラミングのことがよく分からずにアセンブラで受験をしたのですが、将来的にコンピュータを使う仕事がしたいのならCかJavaが良いという話を聞いたので、次回は気持ちを改めてC言語で受験しようと思います。 完全に独学で試験に挑もうと思うのですが、何か良い参考書や問題集などがありましたら教えていただきたいです。 前回のアセンブラの時は、できるだけ簡単そうな問題集を、と思い「1週間で分かる 集中ゼミ」のCASLIIを使いました。 ですが、書いてあることは分かったはずなのに問題が解けない…という状態になってしまいました。 これは単に勉強不足だと言われてしまえばそれまでなのですが、それくらいプログラミングのことが分からない私でも、基礎からしっかり理解できるものがあればと思い、質問させていただきました。 よろしくお願い致します。

  • C言語の基礎

    初心者でも、C言語の基礎をしっかり学習 出来る参考書を教えて欲しいです。 IT系の会社に入って、初常駐になりそうなんですが その環境がC言語なんです。 それで勉強しようと思っていますが、参考書が色々あって どれがいいのか迷ってしまって……。 ちなみに、私の言語経験はJAVAを2ヶ月です。 希望としては、基本をしっかり学べる物、 また絵などが多くイメージしやすい物がいいです。 何かいい参考書やWebサイト等ご存知でしたら教えて頂きたいです。

  • C言語でPICのプログラムをしたいんですが。

    PICをC言語でプログラミングしたいと思っているんですがよくわかりません。 PCの画面に「Hello」とか出すことはできるんですが、PICで動作するCがわかりません。 LEDの点灯(点滅でも)やモーターを動作させたりするプログラムを書きたいんですが イマイチ良く分からず最初の定義文の構成とかもPICだとやっぱり違うのかなって 思っているんです。普通のCですら定義文や構成の意味が微妙な感じ何です。 でもCでかけたらカッコいいなって思ってます。 PICのCに関する入門みたいなサイトや文章があったら教えて下さい。 アセンブラやJAVAについても教えていただくとありがたいです。 まぁでもC言語メインでお願いします。

  • C言語の通信教育

    現在、SEを目指して転職活動中です。 前職は社内SEでしたが、プログラミングの必要が無かった為、知識も全くありません。 少しでも役に立てば、と思い『新C言語入門ビギナー編』(著:林晴比古)を購入し 勉強はしているのですが、通信教育等で基礎からきちんと学んだ方が良いのかとも思います。 もちろん実務の経験が無いので、それだけで転職活動を有利に進められるとは思ってはおりませが・・・。 実際に通信教育でC言語を学ばれた方がいらっしゃいましたら、オススメの講座等を教えて下さい。

  • アセンブラ言語についてです。

    こんにちは。 現在大学3回生で就職活動をしております。 ESに得意科目の欄があり、大学の講義で習ったアセンブラ言語と書こうと思います。 アセンブラ言語は、将来どのような役に立つのでしょうか?? アセンブラ言語を学んでCやJAVAのプログラミングに生かせるのでしょうか?? 知識としては、基本情報技術者のCASLIIの問題が解ける程度です。 よろしく願いします。

専門家に質問してみよう