C言語のコンパイラ

C言語のコンパイラもいろいろあります。

・VisualC++
Windows上で一番よく使われているのはVisual Studioに含まれているVisual C++でしょう。無償版のExpressはMFCやATLライブラリが付いてきません。無料ですが、学習用には充分すぎる機能があるといわれています。私はプロのコーダーではありませんが、Visual Studio 2010 Professionalを利用しています。高機能でかつ使い勝手の良い開発環境です。

・Borland C++ Compiler 5.5
無償のC++コンパイラとして、昔は有名でした。
こちらはダウンロードやインストールの方法の書いてあるサイトです。
ダウンロード及びインストール – Borland C++ Compiler 5.5のインストール
http://www.cppdrive.jp/bcc/install/index1.html#section1

・その他のC言語コンパイラに詳しいサイト
いろいろなC/C++コンパイラについて記述があります。
タダで始めるC/C++プログラミング for Windows
http://www.ooyashima.net/db/prog.htm

広告

関連コンテンツ

ソフト

C言語を学ぶにあたって、まず第一に必要となってくるソフトがコンパイラです。コンパイラとは、C言語などのプログラミング言語で書かれたプログラムソースコードをコンピュータが実行できる形式に変換するソフトです。最近のコンパイラは、エディタやデバッガなどがセットになっている統合開発環境となっており、多くの工程を一つの開発環境で行えるようになっています。本当は、お金を払って有償版の開発環境を買ってくるのが一番いいのですが、ほんの初歩の練習用であれば、無償版のCコンパイラを使う選択肢も良いでしょう。
Windows上でC言語の開発や学習をされるのであれば、Microsoft社から出ているVisual Studioが良いでしょう。C言語のソースプログラムはC++コンパイラでもたいていコンパイルできます。
●2010年バージョン
Cだけなら
→Visual C++ 2010 Expressをダウンロード
VisualBasicやC#もやってみたければ
→Visual Studio 2010 Expressをダウンロード
有償版(MFCが便利)
→Visual Studio 2010を購入
●2012年バージョン
無償版
→Visual Studio Express 2012ダウンロード
有償版(MFCが便利)
→Visual Studio 2012を購入

プログラミング

C言語はプログラミング言語です。C言語・C++言語・クラスライブラリを使って、将来的に何か作ってみたいものを思い浮かべられる人には、C言語を学ぶのは有意義なことだと思います。VBやVBAを勉強し、これで一通り自分の作りたいものが作れる人は、C言語の学習はあまり意味のないものかもしれません。さっとやって終わりにしても良いと思います。Excel用VBAの方が、生産性の高い場合も結構多いです。

C言語でないとできないこと
ハードウェアの性能を生かし切る高速動作のシステム
Windowsがあれば、Excelなどのアプリケーションソフトなしですぐに動作する実行可能ファイルが作れる。

C言語の欠点
個人的な思考が反映されやすいので、他の人が保守しにくいソースプログラムが出来上がる場合がある。
ポインタ・メモリの操作により、システムが不安定になることがある。

ExcelVBAで良いこと
言語が誰でも理解できるよう簡単な文法となっている。
Excelのグリッドやワークシートを入出力に使用できる。
出力されたデータを簡単に加工できる。
生産性が高い。

ExcelVBAで残念なこと
文法が合っていても、動作に不具合が生じる場合があること。

C言語の参考書

C言語の参考書なんて何でも大丈夫です。自分が納得したものであれば。

C言語の入門書が一通り終わると、また次の段階へ進みます。
ある人はC++言語へ
ある人はVisual Basicへ
ある人はJavaへ
また本が欲しくなりますが、買いましょう。
買わないと前へは進みません。
一つ言語を覚えると、どんな本を読めば手っ取り早く覚えられるかや、手元に残る本のイメージなどがわかってきます。
これも大事な人生経験の一つです。
C言語がわかれば0ではないので、ほかの言語を覚えるときは、C言語との違いだけに集中すればよいのです。

ここまで来たら、自分の作ってみたいシステムをできるかどうかわからなくても挑戦してみるのも良いでしょう。そうすることであとどれぐらい本を買ったり、勉強すれば目標に到達するか前よりはわかってきます。プログラマとして就職できればスキルの伸びるのは速いのですが、ほとんどの人は今ある生活の中で生かしていくことになると思います。若くて柔らかい頭の方がいいコードを書ける可能性が高いですし。

C言語の本について

C言語の本でおすすめは
新C言語入門(林晴比古/SOFTBANK BOOKS)
独習C(ハーバート・シルト/SE)
です。2冊とも古い版です。
私もいろいろ買ったのですが、残ったCの本はこの2冊とちょっとで、今後も持っていようと思います。

本の探し方
大きな本屋さんへ行く。
強化点を明らかにし、実際に読めそうな本を探す。

開発環境に慣れたい。
→ソースコードがたくさん載っている本を選ぶ。

開発中にコードの記法を調べたい。
→文法がきれいに整理して載っている本を選ぶ。

ポインタなど特定の分野を強化したい。
→強化点をクローズアップしたタイトルの本を第一候補にする。

本当の初歩を学ぶ
→自分で少し読んで本当に優しいことを確認する。

コレクション
→本当に欲しかったら買おう。

いろんなところでいろんな本が推奨されていますが、最後は自分の勘で選びましょう。ITの世界では、ハードウェアであれソフトウェアを買うにしろ高額のお金がかかります。本の1冊ぐらいであれば、後悔のないよう、気になるようだったら買ってみるのも良いでしょう。

C言語検定について

C言語検定を始め、さまざまな資格を学生の時に受けたけど、あまり就職活動には活きなかったというのが実感です。結局の所、自動車免許とITパスポート系の資格しか履歴書には書けなかったです。

試験内容 – 検定試験について – C言語プログラミング能力認定試験│資格検定試験│ビジネス能力認定 サーティファイ
http://www.sikaku.gr.jp/js/cp/exam/content/

プログラマは年齢と実務経験が採用時に重視されるので、ブランクを作ってしまうと戻れなくなる世界だと思います。資格より若さが大事です。

今、大学・専門学校にいる人は確実に卒業することと、就職活動でIT系を目指していてダメだったとしても採用された会社で、できるかぎり頑張った方がいいと思います。最初の会社は仕事を教えてくれるけど、中途採用となると教えてもらえることは少なくなります。フリーター・ニートになる可能性大です。転職は最終的に自分の決断だけど、良くなることは稀です。

明解c言語

C言語の本は書店に行くと山になっています。どれを選べばよいか悩みます。いろいろな人がおすすめの本はこれだと言いますが、最後は買う人が良ければ良いのです。私の場合どの言語も入門書を買ってマスターしたらリファレンス本を買い、そのほかは開発環境についてきたヘルプやネットの情報でたいてい間に合わせています。入門書には柴田望洋先生の本も候補としてはいいかもしれません。

BohYoh.com【柴田望洋博士の著書】
http://www.bohyoh.com/Books/index.html

私はC++言語を学ぶ時に柴田望洋先生の著書のお世話になりました。
古くからC言語の著書を出している方で、今の本はかなり安定した内容に仕上がっていると思います。
ただ、プログラミング言語の本は個人の求める内容によりベストといえる一冊は異なるので大きな本屋さんで見比べ、本を買ったほうが良いでしょう。
柴田望洋先生の本も良かったけど、今は個人的には林晴比古先生と独習シリーズが良い感じです。

問題

問題練習はできれば書籍の方がいいでしょう。書籍はいつでもどこでも読むことができます。ディスプレイを読むのと本を読むのでは頭の使い方が違うようです。

■問題のヒント
込み入った内容は使いそうな処理を紙に箇条書きし、順序をつけ条件・繰り返しなどを矢印で引っ張ってきたりして簡単なフローチャートを書いてみましょう。

頭の中でできただけじゃなく動作確認までやりましょう。デバッグ力が付きます。

コンパイラエラーは文法エラーが多いです。
VC++ではエラーをダブルクリックするだけでその場所を表示することがあります。

実行時エラーのため途中でエラーが表示されたら、開発環境付属のデバッグツール・ブレークポイントやステップ実行などを試してみましょう。
統合開発環境でなくMS-DOSなどのコマンドプロンプトでコンソール開発を行っている場合は、エラーの場所に当たりをつけ、printf関数などで気になる変数や場所を表現する文字列を表示すると、不具合のある場所を特定しやすくなります。

■おまけ
・閏年判定システム

C言語 関数問題 – C・C++ – 教えて!goo
http://oshiete.goo.ne.jp/qa/8121396.html

1582年以前のユリウス暦ではうるう年は常に4年に1回だったというのは初めて知りました。

暦って難しいですね。

練習問題

上からやっていけば力が付きそうです。
C言語 練習問題
http://www.geocities.jp/kenji_y0328/crenshu/

書籍にもなりそうな本格的な問題集です。
C言語 練習問題集
http://akabas.net/lib/CExercise.aspx

やるときに注意することは、すぐに答えを見ないことです。あと、自分の書いた解答が模範解答と違っていてもエラーがなく正しく動けば一つの正解です。どのような違いがあってどちらが良いソースかの検証はできればやった方がいいでしょう。
ただC言語がどうしても苦手で仕方がないという人は、問題をよく読んで考えてできなかったら、いつまでも放置せず答えを見るのも上達の一つの方法です。この問題集を全問解けるという人は、相当力がないと厳しいですので。

問題集を卒業したら、何か自分が作ってみたいプログラムを組んでみましょう。
たとえば
・10000年カレンダー(年月を指定し月次の曜日や日付を表示)
・魔法陣作成プログラム
・簡単占いシステム
・円周率計算システム
・e計算システム
・補間法システム
・ホームページ作成システム
などなど

C言語の特徴

長所
動作の速いシステムが組める。
ファイルサイズの小さい実行可能ファイルを作れる。
基本的に何でも作れる。

短所
メモリの取り扱いに注意が必要。
プログラムを書く人によっては可読性が悪い。
何もかも書かないといけない。

その他言語との比較
・C言語にクラスなどオブジェクト指向の要素を付け加えたものがC++言語。
C++の開発環境でC言語のソースをビルド・実行しても動く場合が多い。
・多数の人で開発をする場合はVisualBasicなど簡単な環境で開発することがある。
・C++とJavaによく似た言語でVisualC#というのがあるが、Windowsの.NET Framework上で動くシステムを構築できる。ビルドで中間コードが生成される。昔は若干ネイティブコードよりは動作は遅かったが、現在はハードウェアが高速化し気になることが減ってきている。
・Web系はPHP,Perl,JAVAなどが使われる。
・ハードウェア制御などスピード・リソース管理等が求められる場所ではアセンブラも用いられる。
・WindowsではVisualC++をC/C++言語の開発環境として用いるが、基本的にWindows上でのみ動作するシステムとなる。
・UnixでC/C++のコンパイラはあるがVisualC++よりとっつきにくい。