• ベストアンサー

c言語の勉強方について

honiyonの回答

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.8

こんにちは、honiyonです。 私の場合ですが、大まかな手順を考え、その手順1つ1つについて掘り下げていく、という方法でプログラミングしています。 いきなり全体をみて、全体のプログラムを考えるなんていう事はしませんし、私は出来ません。 大概の人は気づいていないのですが、プログラミングは大多数の人が日々行っています。 車に例えます。 交差点Aを左折しようとします。  左折までのおおまかな手順は、  1.交差点が近づいたらウインカーを左に出す  2.徐々に減速  3.ハンドルを左にきる  4.左折が終了したらハンドルを戻し、加速。 です。  これ、コンピュータの世界ではプログラミングといいます。   多分ドライバーなら誰でも行っているでしょう、というかやってます(笑)  実際のプログラミングも全く同じように順を追って考えていけば良いです。  「数値A,Bをキーボードから入力し、加算して結果を画面に表示」という問題があったとします。 私の場合は、いきなりプログラムを考えようとせず、また、全体を考えようとせず、はじめの一歩を考えます。  最初に「数値A,Bをキーボードから入力し」とあるので、最初にしなければいけないのは、AとBという2つの数値を入力する事です。 次に加算。 その結果は画面に表示。  これを順に書きます。  1.AとBをキーボードから入力する。  2.加算処理をする。  3.画面に表示する。  問題のままですが、これがプログラミングです。  次に、それぞれについて、どんなコードになるか考えます。  1は、 scanf("%d %d", &a, &b); といったところ。  2は  c = a + b;  3は printf("%d\n", c);  多分この段階でつまづく人は多いと思います。「キーボードからの入力はどうすればいいの?」とか。 これは覚えるしかないので勉強次第ですね。  この難関を越えれば無事プログラムの完成です。  全てのステップについてコードが思い浮かんだので、これを清書してカンペキなコードにすればOKです。 void main() { int a,b,c; printf("数を2つ入力してね。\n"); scanf("%d %d", &a, &b); c = a+b; printf("答えは %d です。\n", c); }  プログラミングは手順を考える事が最重要です。 たくさんの命令を知っている事ではありません。 繰り返しになりますが、ここでの例題か簡単でしたので一気に全体をみても思いつくものですが、実際はそれは難しいことです。 まずどうすれば良いか、次に何をすれば良いか、と順を追って、問題を1つ1つ解決していく力が必要です。  また、慣れてくると、「どんなデータが必要か」をコンセプトに考える事も出来るようになります。 例えば、上記例で、「加算して表示すればいいのね」という所を先に考え、2,3の手順を思いつきます。 次に、「じゃあその処理にはA,Bという2つの数値が必要だったなぁ。どうやってキーボードから入手しようか」 と考え、1の手順を思いつきます。 この例では入手にたった1つの命令のみで済んでしまうのであまり意味のない考え方ですが、処理に必要なデータを入手するのにいくつかの、また別の手順が必要な場合もあるので、その場合に使うことがあります。 別件をとりあえずおいといて、先にこっちを片付けよう、という考え方ともいえますね。  因みに mickmick2さんの出してくれた例題を用いなかったのは、私が数学が苦手というのもありますが(笑)、その例題を追っていくと、殆ど2分木の説明になってしまうためです。 「順を追って」を説明するのに不向きなものでしたので、他に簡単な例題を出させて頂きました。  うまく説明出来ているか不安ですが、参考になれば幸いです(..

関連するQ&A

  • C言語の勉強方法

    最近プログラミング言語という存在を知った程のとにかく初心者の私ですが、独学でC言語を勉強しようと思っています。 しかし参考書を買って始めてみたのはいいのですが、難解なことばかりで直ぐに行きづまってしまいます。 独学で勉強された経験のある方、どのような勉強方法をすればよいかアドバイスお願いします。

  • プログラミング(C言語)を勉強するに当たって・・・

    何も知らない完全な初心者です。 現在、理学部の大学1年生です。(情報系ではありません) 目的としては、ゲーム作成。および、大学の研究などで自分が必要とするソフトを作ること。 プログラミングについて独学で勉強したいのですが、現在、C言語からはじめてC++を勉強しようと思っています。 そこで、いくつか質問をしたいのです。 (1)言語を学ぶ以前に学ぶべきことは? (2)目的に対する言語は適当であるか? (3)また、どのソフトがお勧めであるか?(学生なので2万以内で済ませたいと思います。) プログラミングをする際に読んでいたほうが良い本を 教えていただけるとありがたいですm(_ _)m

  • C言語の勉強にあたって

    今からC言語を勉強していく人から質問されたのですが、勉強にあたって、Cのアプリケーション(コンパイラ等)なしに実際のプログラムの動きを勉強する方法はないでしょうか? これでは漠然とした書き方ですが、例えば、インターネットのHP上でプログラミング→コンパイル→実行をシミュレーションできるようなHPはないでしょうか? こういうHPがあると、とりあえずインターネット環境とC言語の参考書があれば簡単に勉強できると思うんです。 そのようなHP、ありましたら教えてください。 何ヶ所かあるようでしたら、使い方が難しくない(初心者向け)ところが良いです。 よろしくお願いします。

  • C言語を勉強したいです。

    C言語どころか、プログラミングを触った程度でしか 勉強したことがないのですが、本格的に勉強したいと思っています。 でも、勉強をし始めたのはいいのですが、実際のC言語の ソフトを持ってないのですが、そのソフトは、どうやって手に入れれば いいんでしょうか。タダでダウンロードできる・・なんてことは できないんでしょうか?簡単な質問かもしれませんが、もしよければ 教えてください。よろしくお願いします。

  • C言語を勉強する為に

    全くのプログラミングの初心者です。C言語を勉強したいと思っています。 まず、何が必要なのでしょうか?参考書はもちろんですがプログラミングを勉強するにあたって最低限必要なものを教えて頂ければと思います。できればフリーソフトが望ましいのですが…。 それと、C言語とJAVAはどちらが入りやすいのでょうか。

  • JavaとCのどっちがいい???

    こんにちは。 プログラミングを始めようと思うのですが、 言語はどれがいいのかよく分からないし、プログラミングという言葉も抽象的でいまいちパッとしません。 今人気なのはJavaとCと聞きました。 独学でもできますか? 将来、パソコンをさわる仕事につきたいのですが、プログラミングの他に何かありますか。 お願いします。

    • ベストアンサー
    • Java
  • C言語の勉強方

    基本情報の試験の言語がCで受験しなくてはいけないんですが、独学で0からのスタートなので難しくて参ってます。2週間かけて、基礎の部分を一通り勉強して、前半部分は理解できたんですが、後半の 構造体、ポインタ:なんとなく理解 ユーザ関数:理解不能 といった感じなので、応用問題とかになると全然分からなくて参ってます。 C言語の勉強の仕方や初心者でも分かりやすく理解できる参考書などは無いでしょうか??教えて下さい。 1週間シリーズがいいと聞いたんですが、あれはどうなんでしょうか??

  • C言語

    今、C言語のプログラミングについて勉強してます。 それで、printf文の中にアスキーアートを入れようとしたのですがエラーが出てしまいます。 おそらくAAの中に:や()が使われているからだと思います

  • Xcodeで0からC言語でプログラミング

    今まで全くプログラミングをしたことがなくHTMLのタグ打ちくらいしかできないのですが、Xcodeで0からC言語などでプログラミングをしたいと考えています。  とりあえず本などで勉強しながら独学でマスターしたいのですが、こんな初心者でも理解できるかかなり不安です。  まず何からしていいかも分かりませんので是非アドバイス宜しくお願いします。

  • C言語のコンパイラ、リンカ

    はじめまして。 独学でC言語の勉強をしています。 そこで、実際に簡単なプログラミングをしてみたいのですが、フリーのコンパイラ、リンカはあるでしょうか? 知っている方がいました宜しくお願いします。