• ベストアンサー

C言語について知りたい!!

C言語を勉強しようと思ったのですが、 C言語って数学ができないとヤッパリ上達しないのでしないのでしょうか??それとも、別に数学はできなくてもC言語の知識をつける事は可能なのでしょうか?? C言語を勉強する上で必要になってくる数学って一体何でしょうか?? 関数とかでしょうか?? 必要になってくる数学の知識について教えてください! よろしくお願いしますm(_ _)m

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

  • ベストアンサー
  • rot-N
  • ベストアンサー率27% (118/432)
回答No.5

Cに限らず、Delphi、PASCAL、Fortran、basicでもJavaでも何でも、「論理的に考える」こと、つまりコンピュータに何が出来るから、それを処理するには、どういう数値を順番にどういう風にすれば良いかを考えることが必要です。…で、学生が習う学問では、「それに近いこと」をするのは、数学か物理学になります。 今学校で教えているのは「公式を覚えて問題を解く」数学(というと数学の先生に怒られそう(^^;))ですが、「公式を論理的に作成する」本当の数学の手腕の方が必要です。たとえば、y=(ax+b)(cx+d)=abx^2+(ad+bc)x+bdと展開するのに必要なのは小学生でも判る単純な足し算、かけ算です。ですが、これを作るのに、「まずaとbをかけてそれをxの2乗の…」という風に、単純なステップに分けて考えて論理的に組み立てていく能力と言ったら良いでしょう。 現実問題は、賃金計算なら「この人の時間単価はxx円で、所定労働時間はh1時間、残業時間はh2時間、でも残業時間は単価2割り増しだから」とか、組み込みなら「スイッチを押すと、ポートの値が1から0に変るから、そうしたら、こっちのポートに1を書いてモータを動せば」とか、そんな程度の単純なステップを組み合わています。 これも、考えてみると、自分がやっている数値処理を、一ステップずつに分けてコンピュータに教えているだけです。 ですから、数学の「知識」は必要ありません。 # 必要になる知識程度なら、今の時代は、チョイとwebで調べりゃ良いんです(^o^)。 ちなみに私はプロのプログラマではありません(^^;)が。

その他の回答 (4)

  • hel-cat
  • ベストアンサー率35% (30/85)
回答No.4

IT業界で働いています。 C言語は数学の知識なくても学べます。 あえて必要かな?と思うのは四則演算と論理演算ですな。。。 (グラフィック系やりたいなら別だけど・・・数学できないとプログラム組むのに時間がかかる) プログラムというのはコンピュータに対して指示、命令を出すための手段です。 正しく書いてあげれば答えを出してくれます。 私も1X年この業界でSEやっていますが、数学できなくて困ったことありません。 今となっては笑い話ですが、入社試験(面接)で、「コンピュータとワープロの違いってなんですか?」と聞いたくらいです。 (う~ん、よく受かったって感じです) 数学を勉強したのは、情報処理の試験のときだけでした。。(死ぬかと思いました、なんてったって音大卒なんです。。。数学ってなにぃ~って感じで数学学科卒業の人捕まえて習ったくらいです。試験終わって忘れました。。。) ※だからといって、勉強するにこしたことはないです。 「関数=便利な道具」と思ってください。 正しく理解し、使用すれば正しい値を戻してくれます。 それは、どんな言語でも一緒です。 まぁ、言語によって得て、不得手(扱いやすいか扱いにくい)はありますが。。。 「言語」というくらいなんだからあくまでも言葉なんですよ。正しい日本語使うのとなんら変わりません。 正しく、指示命令を出してあげれば答えを出してくれます。 こんなこと言っていても、いま、新人教育も担当していれば、リーダーと言う立場にもあります。 C言語で理解するのが・・・やはりポインタの概念でしょうか? 新人教育で立派な大学や、大学院を卒業してこられた方でも間違った理解をしている人がいっぱいいます。 プログラミング言語を勉強するのであれば、動いたからいいや!ではなくて、自分の理解したと通りの記述をして、自分の思っている結果が出たかが大事だとおもいます。 ※どっかのサンプルをコピー/ペーストしてコンパイルして動いた!!=できたと思うのは間違いです。 そのことを肝に銘じて、正しく言語を理解してください。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

プログラミング言語を学習する上で数学は必用条件ではありませんが、数学の知識が 多ければその分プログラムの可能性が広がります。 例えば3Dゲームを作りたいと思うなら、行列式と簡単な微積ぐらいはできないといけませんし、 数学が使えることで、計算量を軽減できる事もあります。 例えば 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 をfor分を使って10回足して求める事もできますが 等差数列の和の公式を知っていれば (10×(1+10)) ÷ 2 で計算量を軽減できますよね。 でも一番必用なのはC言語を学習する目的だと思います。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

数学できなくてもプログラムはできます。四則演算程度の算数がわかれば基本的に大丈夫です。ですが、2進数と16進数ぐらいは読めた方がいいです。 プログラムを作る上で必要になってくる知識は、作るプログラムによって異なります。数値解析プログラムならば数値解析の知識が必要になりますし、画像処理プログラムなら画像処理の知識が必要になります。 上達の具合は、その人の向き不向きで大きくわかれます。向いてる人が1週間かければ覚えるられるものを不向きな人が覚えようとしても一生覚えられないこともあります。(これはちょっと言い過ぎかな?) C言語に限ったことを言えば、コンピュータの動作の仕組みなどについて、ある程度の知識を求められます。

  • TALLY-HO
  • ベストアンサー率29% (103/354)
回答No.1

数学が苦手でも上達はしますよ。 どちらかというと、新しい概念を自分なりのイメージに 変換&構築する能力と、知らないことを検索する能力が 大きいです。 必要になる知識は、開発するソフトの分野によります。 画像系ならフーリエ変換とか理解してるに越したことはありませんし、 パターン認識なら線形代数とか役に立ちます。

関連するQ&A

  • C言語を学ぶにあたっての数学の知識

    C言語を独学で勉強し始めたばかりなのですが、C言語を学ぶにあたって数学の知識って必要ですよね? C言語を勉強している途中に、数学の知識が必要だと感じました。 私自身、高校を卒業して数年たっているので、数学の勉強もしたほうがいいのではと思っています。 そこで質問なのですが、C言語を学ぶにあたって、これだけは覚えておくといい数学の知識ってあるのでしょうか?

  • 大学でC言語やJava等を習いました.

    大学でC言語やJava等を習いました. 次のセメスターからは手続き型言語とは違う SMLという関数型言語を講義を履修しなければならないようなので, 春休み中に勉強しておこうかと思いました. しかしSMLを少しかじってみたのですが関数型言語は代入という概念もなく 数学のような感じであまりおもしろくないと感じ,関数型言語を学ぶ意欲が少し無くなってしまいました. そこで関数型言語を学ぶ意義についてどなたか教えていただけないでしょうか? よろしくおねがいします.

  • C言語について。

    ここでいうC言語のモジュールとは、関数の事でしょうか?教えていただけると嬉しいです。以下の文章です。 C言語のプログラムは、通常いくつかの関数によって構成されています。この関数とは、1つの処理単位を表すものでモジュールともいいます。

  • C言語とpython言語について。

    Visual Studio Codeで、C言語(これは必要なものを全てインストール済み)で、その上で、python言語のインスール(必要なもの全て)しても、C言語が、実行&コンパイル出来なくなる事はないですよね?教えて頂けると幸いです。

  • C言語のオススメ専門書!

    はじめまして。 私は今C言語を勉強しています。 勉強方法は主に本を読んでの勉強です。たまにネットで調べたりします。 現在は関数やポイントなどの基本と言われているところはあらかた勉強し終わりました。そろそろ次のステップへ進みたいと思っています。 そこで質問なのですが、中級者向けのC言語の専門書で良書のオススメがありましたら教えていただけないでしょうか。また、ほかに良い勉強法がありましたらそちらもお願いします。 一応、目標は自分で必要になったソフト(簡単な物であれば)があったら調べながらでも作ることができる、またC言語ができるようになったらC++の勉強もしようかな、と考えています。

  • 関数はあるがC言語で書けないプログラム

    数学的に関数はあるがC言語では書けないプログラムを 探しています。 関数自体は偶数か奇数(0以上の整数)を返す関数で しかしプログラムでは書けないというものです。 よろしくお願いします。

  • C言語の参考書を探しています。

    ご回答のほうよろしくお願いします。 早速ですが、私は只今、職業訓練校にてC言語を習っています。 しかし、色々と勉強しているうちに何個か分からなくなることがありまして、それについて詳しく書いてある本かHPが欲しいなと思いまして、質問させて頂きました。 それで内容ですが、 ・標準関数について使い方と内容を詳しく記載してある本が欲しいのです。 HPやペルプを使っても私にはちょっと分かり難いのでその部分を重点的に記載しているとありがたいです。 ・またC言語の関数の作り方、ポインタの使い方も詳しく書いてある本も欲しいです。 ・それとこれは別で、再度初歩的な部分の勉強したいと思いますので、初心者の参考書も欲しいと思っています。 と色々と要望が多いですが、よろしくお願いします。 ちなみに全部に言えることですが私はMicrosoft Visual C++ 6.0を使っているのでそれに精通した本でお願いします。

  • C言語で。。。。。

    C言語のプログラミングの勉強をしているのですが、 5.4のような小数点以下ありの数値の整数値を表示させる関数ってありますか??ネットを探してみてもよく分からなくて困っています(><)よろしくお願いします。

  • C言語について。

    C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、 以下のかぶくんまんさんの回答です。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11247611941 で、 C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。 という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。 という所が分かりません。教えていただけると幸いです。すみません。以下のURL https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247932542

  • C言語に関する良い書籍をさがしています

    C言語について勉強をしてまして、 良い書籍を探しております。 それと、標準ライブラリ関数について、 詳しい解説書も探しております。 おすすめできるものがございましたら 宜しくお願いします。