• ベストアンサー
  • 暇なときにでも

C言語を好きになりたいのでメリットなどを教えてください!

学校でC言語の授業があることや、私が狙っている国家資格でC言語の問題が出ることなどから、Cを深く学びたいと思います。 春休みなんでちょうど勉強どきなんです。 しかし、C言語がうまくなるとどういうことが起きるのかよくわかりません。 C言語がうまくなると何が作れたりするんでしょうか? C言語は素晴らしいのでなんでも作れる・・・でしょうか?笑 まあとりあえず、要は私にC言語を好きにさせてみてくださいということです。 よろしくお願いいたします!

noname#82438
noname#82438

共感・応援の気持ちを伝えよう!

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

  • ベストアンサー
  • 回答No.7
  • KI401
  • ベストアンサー率53% (44/82)

 VB…????謎だ。Officeとの連携が強いという意味でのメリット…?うーん、なるほど。プログラマとしては決してVBなんてオススメしたくないけれど、「好きにさせる」という観点ではそれも悪くないかもしれない。  要するにプログラミングが役に立ったり、面白かったりすれば「好き」になれますよね。Excel・Wordとの連携に強いVBAを使えると、仕事に役立つ定型処理とかもできるようになり、直に作業効率に影響してくるでしょう。そうすると仕事早いし同僚にも自慢できるしで、役に立つこと尽くし(笑)。それくらいにVBAを使えるようになりたいと思えば、プログラミングも好きになれるんじゃないですかね?  で、C言語に戻す。C言語でも基本的に同じです。ちゃんと使えるようになれば、簡単な定型処理ぐらいなら自分で書けるようになります(あまりCが定型処理を書くのに向いているとは思えないが、それはまた別の話)。それに学校で学ぶということは、今から勉強しておけばプログラミングにおいて他の生徒よりも大分advantageを取れますよね。そしたら少し友達に教えたりとかできるかもしれません。で、優越感にひたr…ごほん。  ダメだ、邪な考えしか浮かばないorz でも結構プログラミングできない(てかやりもせず拒絶反応を示している)人は多いので、ある程度できるだけでも実際advantageになるんじゃないでせうか。  で、目標のことですが、「四則演算の式を計算する」とかどうでしょう?普通の電卓は数・演算子を交互に入力しますが、そうではなく"1+6/3"のような式を入力したら、それを計算してくれるようなものです。非常に目標としても具体的で分かりやすいですし、基礎知識もまんべんなく必要とします。まぁ最初の課題として難しすぎるかもしれませんが…。  あまり説得力のない文章でしたが…。参考になれば幸い。では。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

いや、説得力ないことないですよ。非常に参考になります。 他の友達に教えることで優越感にひたれることって、邪な考えだとユーモアを含めて自虐的に仰っていますが、真面目な話すると、そういうのって重要なポイントだと思うんですよね。 人間、他より優れていたいっていうのは基本的な欲求だと思います。 ていうか、ぶっちゃけ、その一言でかなりやる気でてきた気がします笑 あと、「やりもせず拒絶反応を示している人は多い」というのも正解ですね。 私のクラスでも、そういう人が大半を示しています。 私はそんな人があふれているなか、孤軍奮闘して「Cを好きになって頑張ってやろう!」とポジティブに考えているのに、「好きになれるわけない」と怒られてはたまりませんよ・・・。 優越感のためにCをがんばる・・・はい、邪道です!でもいいです!笑 アドバイスありがとうございます!

その他の回答 (9)

  • 回答No.10

中級プログラマを目指すのであればCのメリットはほとんど享受できないと思いますが… とりあえず参考URLに速度比較に関するブログがあります。 Cが最も高速で、メモリ使用量を少なく記述できるという結果ですね。 まあ、C言語最強ってことで。 (アセンブラを除く) プログラミングを学ぶのであれば、言語そのものよりアルゴリズムを理解する方が重要です。 学校の授業や試験では、ステートメントの誤りを指摘する問題はほとんどなく、アルゴリズムを問う問題のほうが多いはずです。

参考URL:
http://isoya.at.webry.info/200611/article_36.html

共感・感謝の気持ちを伝えよう!

質問者からのお礼

目指すなら上級を目指したほうがよさそうですか。 まあ、中級程度あたりまでいく頃にはすっかりCが好きになっちゃってて、自然と上級を目指す人間になっていた、という流れになってくれればうれしいですね笑 わかりました、アルゴリズムの勉強のことも考えてみますね。 回答ありがとうございます!

  • 回答No.9
  • S117
  • ベストアンサー率40% (18/45)

なぜCが学校の授業で取り上げられたり、資格試験で使われるのかを説明してみます。 まず、Cはそれ自身はずいぶんと古い言語です。しかし、当時は実行効率や生産性のバランスがよく、また応用範囲の広さ(組み込み機器からサーバーなど、OSからアプリケーションまで)から大きく普及しました。また、後発の言語の多くはCを参考にしています。(参考のwikipediaのCのページにはCの影響を受けた言語が載っています) また、それらの言語はさらにほかの言語に影響を与えました。 学習の面においてはCは古い言語であるために、学ぶべき概念が後発言語よりも少なく、一方で基本的な考え方であれば十分に学ぶことができます。このために学習が容易という面があります。(マスターするとなると難易度はずいぶん上がりますが) 資格試験で使用されるのは、Cを理解できる技術者は多いことが期待できるためです。また、先述の通り基本的な考え方はCで表現可能なために、問題作成の題材として適しています。 以上から、Cの学習に対するメリットは ・プログラミングの基礎的なことが学習できる。 ・Cの影響を受けた多くの言語で学習が容易になる。 ・資格試験でよく使われるので有利。 ということになります。なお、実用面としては組み込み機器やOSなどのハードウェアよりのプログラミング、複数の言語間での連携のためのインターフェース、後発言語では速度面で問題が出る場合の高速化のために利用されることが多いでしょう。 一方で一定規模以上のアプリケーションや、ツールなどをさくさく作りたい場合にはあまり向いていません。しかし、これらのために後発言語を利用する際にも、Cの知識は無駄になりません。 Cで何でもできるとまではいえませんが、Cができれば何でもできるようになれるでしょう。

参考URL:
http://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E

共感・感謝の気持ちを伝えよう!

質問者からのお礼

なるほどー。 プログラムの基礎的なことがわかるようになるというのはいいですね。 Cの知識が他のことをするにあたって無駄にならないのですね。わかりました。 回答ありがとうございます!

  • 回答No.8
  • zwi
  • ベストアンサー率56% (730/1282)

C言語で何が作れますかって所にポイントを置いて答えます。 ・OS(オペレーティングシステム) WindowsOSやLinuxOSやMacOSなどパソコンで動く大半のOSはC言語で作られいます(最近はC++言語の部分もありますが)。 ・コンパイラ C言語自体のコンパイラもC言語で書かれています。 ・Windowsで動いている大半のソフト。 市販やフリーソフトも含めて大半はC言語で開発されています(最近はC++言語も多いです)。 ・携帯電話などの機能。HDDレコーダーなども同様。 携帯電話の機能もC言語やC++言語で組まれています。 ・WEBサーバ。 あなたが見ているホームページを表示する機能を提供しているWEBサーバーのシステム自体はC言語で書かれています。その上に乗っかる形でJAVA言語やPHP言語などが動いています。 ・ゲーム機のゲームやWindowsゲーム。 これもC言語かC++言語で書かれています。 こう書くと世の中のIT系の大半がC言語かC++言語で動いているように見えますが、実際には色々な言語で動いていること書き添えておきます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

携帯なんかに組み込めるものなんですね。 OSやゲームなど作るレベルになってくると相当ハイレベルなあたりに行かないといけなさそうですね。 でも参考になりました。 回答ありがとうございます!

  • 回答No.6

私は、勉強中の身の新米プログラマーなので、C言語をokajunさんに好きになって貰える程の回答は書けませんが…。 C言語は、だいたいのプログラム言語のベースと言われています。 なので、C言語を覚えていると、だいたいの言語へも入り易いらしいです。 あとは、言語のジャンルから、C言語の開発というのは結構多い方であると思いますので、「C言語がバリバリできます!」となると、IT系でPG、SE募集であれば、採用されやすいかもしれません。かもですが…。 ただ、C言語というのは、極めても、極めても奥が深く、実践と勉強では結構違いがあります。 C言語ができれば、何でも作れるかと言えば、スキルを極めていけば、果てなく、結構、何でもできると思います。 モノづくりが好きな方なら結構楽しいと思いますよ!

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>新米プログラマーなので、C言語をokajunさんに好きになって貰える程の回答は書けませんが いえいえとんでもない、十分参考になります。 非常にありがたい回答です。 C言語はわかっているとやはり会社で役立ちそうですね。 回答ありがとうございます!

  • 回答No.5
noname#80647
noname#80647

RPGのダンジョンにたとえると、それぞれこんなタイプにお勧めのようです。 Basic : 一直線に目的地点を目指す。寄り道しないと見つからない宝箱には目もくれない C : 隅々まで探索し、宝箱は全て見つけ出す Basicでもプログラムは組めますし、習得もCより簡単といわれています。さらにVBしか知らなくてもプログラマで食っていけます。 でもCに強くなると、ソフトウエア、ひいてはコンピュータ全般についてより深く理解できるようになると思います。アドレスの概念とか。 理解が深まれば、よりいっそう面白く感じるでしょう?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>Cに強くなると、ソフトウエア、ひいてはコンピュータ全般についてより深く理解できるようになると思います。アドレスの概念とか。 おお、そうなんですね。 そういうアドバイス待ってました。 その一言だけで「C大好き!!今から超がんばれるぜ!!」となったわけではありませんが、そういう一言でやる気は確実に増えるんです。 No.2さんのような考え方をしている方がこの回答や私のお礼を読むことを願います。 アドバイスありがとうございます!

  • 回答No.4

私なら、実用的なもの?とりあえず家計簿とか…。 あなたは、どういうのに興味があるんですかね? ゲームを作るとか、 (アプリ関連) ロボットを動かすとか、 (組み込み系)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

私はぶっちゃけゲームにもロボットにも関心がなく、それ以前にCが世の中でどのように使われているか全く知らないのです。 しかし家計簿がつくれるといいですね。 簡単な家計簿なら私でもチャレンジのしがいはありそうです。 回答ありがとうございます!

  • 回答No.3

まず、何を作りたいかを決めたらいいんじゃないでしょうか? 目指すところがあって、勉強して、その結果、面白いとかの判断ができるのでは? 何、作りましょう?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

そうですね。作るプログラムがあると目標になりますよね。 ただ、私は初心者ですので、いきなり「本格的なゲームが作りたい」というわけにもいきません。 ですから簡単に「2つの数値を入力して、その積を求めたい」といった(さすがにこの例は簡単ですからわかりますが)程度の、実生活に無関係(というか役立たない?)レベルの目標から設定しないといけませんよね。 だからどういう目標をたてればいいのかがわからないんです。 しかし、言われてみれば、「C言語の初心者入門の教科書をマスターする」という目標を今思いつきました。 結構いいかもしれませんね。 回答ありがとうございます!

  • 回答No.2
  • asuncion
  • ベストアンサー率33% (1908/5773)

>質問者さん 人に好きにさせてもらう、という受け身の形では、 結局好きにはなれないでしょう。 >#1さん なぜCよりVBなのか、の根拠が薄弱です。 興味がある話ですので、具体的に説明していただけますか?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

>人に好きにさせてもらう、という受け身の形では、 >結局好きにはなれないでしょう。 はい、そのような回答がくることも予想していましたし、自分でもそう思っている部分はあります。 しかし、受け身でも好きになれる可能性はあると思います。 人間が何かを好きになるのは、結局つまるところ誰かの影響を受けてますよね? 私は趣味で楽器を演奏していますが、それは好きなアーティストがかっこよく楽器演奏をしていた影響です。 これは「アーティストに楽器を好きにさせてもらった」という受け身になるのではないですか? それに、「結局好きにはなれないでしょう。」という結論が正しいとするならば、私にはCの勉強をあきらめろということでしょうか。 世間は子供たちに対し、学校の勉強をがんばれと叱咤激励します。 だから私は、好きな科目はもちろん頑張りますが、興味のない科目も、これから興味を持とう!とポジティブに考えているんです。 それなのに、「好きにはなれない」という考えで一蹴されてしまっては、私にはもう「嫌々勉強をやる」という選択肢しか残されていないのでしょうか・・・。 それは悲しいことだと思います。。

  • 回答No.1

こんにちは。 愕然とさせる回答ですが、メリットを考えるならCよりVBですよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

あー。そういう回答くるかもとは思ってましたがきましたね^^; 極端な話、メリットを考えるならプログラミングをやるより自分がもっと興味あることをやったほうがいいんですが。 ただ質問で述べた通りCは「学校の授業」+「資格の問題」で必要なので、Cが好きになりたいんです。 別にCで食べていけるほど極めようとは思いません。 将来ちょっとしたことで役立てばいいな、という程度です。 仕事(IT系企業目指してるので)に応用したりとか。 中級者程度を目指している、といったところでしょうか。 まあそのような感じで、どうにかCにやる気を持ちたいので…。 よろしくお願いいたします。

関連するQ&A

  • C言語が解りません。。。

    こんにちは。 現在、僕は30歳でコンピュータの専門学校に通ってます。 当初、プログラマー志望でしたが、C言語が解らないので、プログラマー職には就けそうにないです。 最初の授業を休んでしまい基礎が身に付いてないので、今ではC言語が全然解らなくなりました。 自宅でのC言語の勉強方法は、教科書や参考書を読んで勉強する方法です。 自宅のパソコンでは、実際に実行コンパイルする方法が解らないので、教科書などを読んで勉強してます。 この方法だと、構文などの基礎的な事は解るのですが、応用が解りません。 この方法だと、いくら教科書を読んで勉強しても、自由にプログラムを書ける様になるとは思えないです。 専門学校を卒業するまでの、残り約半年間でこの方法で僕は、C言語をマスターできるでしょうか?。 マスターできればプログラマーを目指そうかなと思ってます。 良ければアドバイスお願いします。

  • C言語のプログラミングのソフトを購入したいのですが、どれがいいのか分かりません。

    タイトルの通りなのですが、C言語のプログラミングのソフトの購入を考えているのですが、どれを買ったらいいのか、また違いがよく分かりません。 私は今、専門学校に通っていて、今学校でC言語を習っていますが、すごくおもしろくて、家でもプログラミングをしたいのと、今年の春の国家試験の基本情報の午後問題の選択問題でC言語を選択しようと思ってるので、その勉強もかねてのソフトの購入を考えています。 学校で使用しているソフトは多分、Visual C++ 6.0 Enterpriseだと思います。自宅のパソコンのosはWindows XPです。 お薦め、使いやすいソフトがあれば教えていただきたいです。 よろしくお願いします!

  • C言語:関数を使うメリットとデメリット

    C言語初心者の者です。 今度学校の授業で関数を用いるメリットとデメリットを挙げるのですが、全然思いつきません…10個も挙げなければならないのにorz どなたか親切な方、教えてくださると大変助かります! よろしくお願いします!

  • C言語の勉強方法

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

  • C言語について

    高校生ですが、C言語に興味があります。しかしながら、勉強の方法が分からない上に取得可能な資格もどのようなものがあるか分からないのです。よければおしえてください

  • c言語の達成度について

    今年の4月に情報系の学校を卒業し、プログラマーとして就職することになりました。 そこで、C言語の復習をしていて今のところは、「やさしいC」を勉強し終わって、「c言語ポインタ完全制覇」をしているのですが、他にもc言語の問題集を解いたり、アルゴリズムの勉強もしたいと思っています。 ただ、C言語だけではなく、JAVAやSQLなどの言語も勉強したいと思っています。C言語を完全にマスターするのはだいぶ時間がかかると思うのですが、IT系の会社に就職する前にどの程度C言語を勉強していたらいいのでしょうか。 又、「JAVA」や「SQL」などの他の言語は、どの程度勉強していたらいいのでしょうか?

  • C言語の理解を深める

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

  • C言語のコンパイラについて

    私は、高校でC言語を使った授業をしています。 学校のPCではMinGWのコンパイラを使っています。 家のPCでもC言語をしたいのですがコンパイラの入手法がわかりません。 どなたか教えてください。

  • C言語

    大学でC言語を勉強しています。 自主勉強で学校のコンピュータを使って、コンパイルなどをしていますが、 家のパソコンでもできる方法を誰か詳しく教えてください。 パソコンはほぼ初心者です。

  • Java言語、C言語のメリット・デメリットについて

    初歩的な質問で大変申し訳ございません。 これからC言語もしくはJava言語のどちらかを勉強しようと 考えています。 それぞれの言語において、使用する上でのメリット・デメリットは あるのでしょうか? どなたか教えていただけますか?