【初心者】c言語をもう一度勉強しようと思います

このQ&Aのポイント
  • 独習Cとかの本を一回通しでやって理解していないぐらいの実力です。
  • ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくてプログラミングとか書けません。
  • 文法を固めるのが先か、何かつくれるようにするのが先かどうすれば上達しますかね?
回答を見る
  • ベストアンサー

【初心者】c言語をもう一度勉強しようと思います。

c言語をもう一度勉強しようと思います。 独習Cとかの本を一回通しでやって理解していないぐらいの実力です。 ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくて プログラミングとか書けません。 文法を固めるのが先か、 何かつくれるようにするのが先かどうすれば上達しますかね? VC6.0++でウィンドープログラミングにしたりしてみたのですが、 肝心のプログラム自体の内容がほぼ無意味なプログラムなので どうすれば内容の濃いプログラムを作れるか考えてしまいます。 アルゴリズムとか数学や物理の公式を実装できればいいと思うのですが、 まず実装までおとしこめないし、 また、何につかったらいいのかもよくわかりません。

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

  • ベストアンサー
回答No.1

うーん、個人的な意見では 「C言語を止める」 のが早道だと思います。 良く「Cはプログラミングの基本」と言われますが、この場合の「基本」ってのは「ハードウェアと密接に関係している」って意味であって、プログラミング言語としては抽象化は不十分なんです。 つまり、ロジックそのまま突き詰めるわけにはいかなくって、「色々とメンド臭い」事柄が多いんで、もし、「プログラミングが苦手」だと感じるのなら、それが本当に「プログラミングが苦手」なのか、単に「C言語が苦手」なのか、分からないわけですよね。 まあ、趣味でやってるのかどうかは知りませんが、今時、組み込みでやる、ってんじゃなきゃ、他のプログラミング言語を使って「ラクにプログラミングをする」方が恐らく10倍以上楽しいでしょう。 と言うわけで、何するにせよ、「Cから離れなさい」ってのがアドバイスです。

その他の回答 (1)

  • catpow
  • ベストアンサー率24% (620/2527)
回答No.2

>>ポインタとか構造体とかなんとなくふんわりとした感じでしか理解していなくて プログラミングとか書けません。 何かつくれるようにするのが先かどうすれば上達しますかね? もう何十年も前ですけど、C言語を全く知らない友人が、会社でC言語の仕事を割り当てられました。 そのブログラムはデータベースを使っていて、ポインターや構造体を多数つかう可能性が高いものでした。 「彼には無理かな?」と思っていたのですが、2か月後くらいには、完成させていたので驚いたことあります。 彼は凝り性&執念深い性格の人だったので、やる気になったときは凄かったのでしょう。 まあ、C言語に限りませんが、そこそこ大きなプログラムのソースコードを読んで、それを修正して機能を追加してみるとか、バグと格闘して徹夜ってそれなりの開発経験の時間を積まないと、上達しないと思います。 参考書にあるような「ほぼ無意味なプログラム」なんて、いくら作ってもダメでしょう。 ちなみに、私がC言語を覚えたのは、GNUや米国から購入したデータベースソフトのソースコードを読んで、日本語を使えるように修正する作業などを通してでした。 C言語の長ーいソースを読んで、やっていることを理解する過程で覚えたように思います。 >>また、何につかったらいいのかもよくわかりません。 「必要は発明の母」なんていいますよね? 作りたいモノが無いなら、やる気も続きませんね。 なにか良い題材を探しましょう。 ちなみに、No.1さんのアドバイスにほぼ賛成です。 ただ、本当にプログラムのことを理解したいのであれば、C言語(≒アセンブラ)というか、ポインターとか構造体のことを理解しておくことは必須だと思います。 特に最近はランサムウエアなど、セキュリティ関連の話題が多いですよね? ハッキング解析には、C言語やアセンブラの知識が必須となります。

関連するQ&A

  • C++への移行について

    よくC++はCをやってからの方がいいという意見のほうが多かったので Cをやっていたのですがやっているうちにどんどんやることも増える(読みたい本も増える)のですがどの程度から移行するほうがいいのでしょうか。 第一段階:文法(制御文、ポインタ、関数等)を基本的に分かっている(明快Cや林「Cシリーズ」を理解) 第二段階:1人の著者ではなく複数の本(文法書やそれに類するもの)を併読した 第三段階:アルゴリズムを基に自分でCプログラムを作れる などCを知っているといってもレベル段階はかなり差があるかと思います。 基本的にはVC++を使いたいと思っていて、 CについてはC++やVC++をやりつつまた戻って復習という形で先に進めるのもどうかと思っているのですが、 どのくらいのレベルで移行するのがベターでしょうか? ケースを教えていただければ助かります。

  • C言語初心者です。初心者がすぐに上達する本のおすすめありますか?

    タイトルのとおりです。 仕事でCを使わなければなくなくなりそうです。 CはCでもいろいろありますよね。+とか++とか、クイックCとかどの辺りがちがうのでしょうか?  基本的な質問ですが、まったくの初心者ですので、基礎から学びたいと思っています。 プログラム自体はベーシックやコボルの経験があるので、アルゴリズムは理解しているつもりですが、 はじめてのことなのでよくわかりません。 すばり、基礎から学べてすぐに上達するおすすめの本。 教えてください。 よろしくお願いします。

  • C言語の勉強方法

    こんにちは。 今C言語の勉強方法で悩んでいます。 私のC言語暦は、大学の授業の時に、文法一通りを覚えました。(当時はオセロゲームの次の一手を考えるようなアプリを作りました。) ポインタに関しては、柴田望洋さんの「C言語ポインタの極意」という本を少し読みました。ぼんやりと理解しているような状態です。K&Rの本は概ね理解できます。(演習問題はやっていません。) 仕事としてしているわけではなく、本はいろいろ読んでいるのですが、あまり自分でサンプルコードを打ってみたりはしていません。演習問題も解いていません。 APIに関する知識は乏しいです。アルゴリズムとデータ構造は、ヒントがないと、自力では書く自信がありません。基本情報処理技術者の資格も持っていません。 こういったレベルですが、これからどういった勉強をすればいいでしょうか?アドバイスを頂けるとありがたいです。

  • C++について

    C++について C++を学ぼうと思って入門書を探しています。 今までにC++、オブジェクト指向はやったことがありません。 C言語は初級と中級の間ぐらいの知識です。現在は独習Cを読んで、理解を深めています。 VC++を理解したいと思って業務(ツール)のソースや構成などを見てもさっぱりでした。 どこから学んでいけばよく分からない状態です。 オブジェクト指向を理解しつつ、C++も習得していってVC++を使えるようになりたいです。 Visual C++〈1〉はじめてのWindowsプログラミング (プログラミング学習シリーズ) が良いと聞いたのですが、C言語を分かっている程度の私が読んで勉強になりますか? もし、他に取っ掛かりやすい本がありましたらお願い致します。

  • プログラミングC#が難しくて困っています。

    プログラミングをしたいと思い、独習C#を使ってプログラミングの勉強中です。 プログラミングは全くの初心者です。 他の入門書でもそうなのかもしれませんが、論理演算子やビット演算子、配列などの内容が書かれていますが、これらが一体何の役に立つのか分からなくて困っています。 読んでいても理解できないです。 本にケチを付けているわけではないです。 おそらく私にプログラミングのセンスがないんだと思います。 また、この本では、コンソールアプリケーションの説明が多いのですが、私はウェブアプリケーションに関心があります。 基礎だと思って読み進めるべきでしょうか? サンプルプログラムも地道に本の真似をして自分で打っていったほうがいいのでしょうか? わからないことがあってGoogleで調べても、理解できないです。 本当に、プログラミングが難しいです。 独習C#のような本は、全て理解する必要があるのでしょうか? 質問が多くなって申し訳ありません。

  • C言語のいわゆる「良書」を紹介してください

    仕事上C言語を勉強しております。 本屋に行っても書籍が多すぎてどれがいいのかよくわからないです。そこで皆さんのお勧めの「良書」と言われるC言語の本を紹介していただけないでしょうか? 私が欲しいのは「文法」の本と「プログラミング方法」の本の2つです。私のリクエストとしては 【文法】 ・文法があますところなく網羅されている ・話の展開が系統立てて、よくまとまって読みやすい ・K&R本よりも詳しい 【プログラミング方法】 ・メモリやキャッシュの効率的な利用法など、ハードの仕様も考慮に入れたプログラムの組み方について解説している。 ・面白くてトリッキーなアルゴリズムが紹介されている 以上、よろしくお願いします。

  • C言語の学習法について

    こんにちは。私は大学二年生で今授業でC言語を学んでいます。 内容は数値計算を行っております。(二分法とかガウス消去法とか) 授業体系としては、プログラムの作成をするというものなのですが、私はプログラムを作るのが苦手です。 なので、自己学習をしようと思うのですが、効果のある勉強法とはどういったものなのでしょうか? プログラムについては自分で手を動かした数だけ上達していくといわれているのでなにか作成しようと思っています。 そこでなのですが 数値計算でアルゴリズムが頭に浮かんでこないというのは、もともとの知識不足なのだからゲーム(じゃんけん)などのプログラムを作る参考書をやるべきだ。 数値計算という内容に慣れていないのが原因だから数値計算に特化した参考書をすすめていくべきだ。 この二つの考えがあります。どちらにするべきでしょうか? プログラムを見ればアルゴリズムが理解できるのですが、 その逆、 つまり、問題からどういったアルゴリズムを作成し、それをどうプログラムとして作るのか。ができません。 まとまりのつかない文章で申し訳ございません。どんな些細なことでもいいのでなにかありましたら是非ともアドバイスよろしくお願いします。

  • アセンブリ言語を学ぶことは意味がありますでしょうか。

    アセンブリ言語を学ぶことは意味がありますでしょうか。 プログラミングの上達や理解を深めるためにアセンブリ言語を学ぶ意味はありますでしょうか。 C++を学ぶとプログラミングの上達や理解は確かに深まりましたが、アセンブリ言語はどうでしょうか。 アセンブリ言語でポインタの意味が分かったと言う人もいますし・・・。 また、アセンブリ言語で役立つことがあれば何でも教えてください。

  • C言語の本について

    Cを始めて日が浅いのですが、少し理解し始めた(入門から初心者に入った)頃です。 勉強用に本を購入しようと思うのですが、どんな本を選んでいいか分かりませんので教えて下さい。 どんな本が良いのかネットで調べて見たのですが、 「プログラム開発全体に対して注意しなければならないCプログラミング上の諸問題についての解説」や 「上手なプログラム例」 「実践で使えるようなプログラム」 等が書いてある本を読んだ方が上達すると書いてありました。 どのプログラムが上手でどのプログラムが下手かまだ良く分かりません。 「プログラミング言語C第2版/ANSI規格準拠」は買おうと思っています。 ※田舎なので専門書を置いているお店も殆ど無く、手にとって見る事が中々出来ません。 長くなりましたがよろしくお願いします。

  • VC++でC言語を学習(初心者)

    市販の本で、C言語を学ぼうと思っております。環境はVC++なのですが、 プログラミングに至るまでで、つまずいてしまいました...。 プロジェクト→Win32 Console Application→ファイル→C++ソースファイル、 とすると、Cのプログラムではビルド時にエラーが起きてしまいます。 VC++の本では載っていなかったので、質問をさせて頂きました。 よろしくお願い致します。 また、何か参考記事等ありましたら、合わせて教えて下さい。

専門家に質問してみよう