ページ 11

基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 01:12
by メルク
C言語の本「やさしいC」というのを使ってC言語の基本ぐらいはほぼできるようになったんですけど
これで一体何ができるようになるんでしょうか?
例えば「音楽ソフトを起動するためのプログラムを作ろう」と思っても今持っている知識では
絶対に作れません。
特に何か作りたいというわけじゃないんですけど、C言語を使って何ができるのかを教えていただけないでしょうか?

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 02:57
by yuki
よくある質問ですね。
基本は基本であって、基本でしかありません。
プログラミングは応用力と勉強力で成り立っていると思っています。
Cを学ぶということは、文字通りCを勉強したことにしかなりません。

たとえば、ウィンドウズで動くソフトを作るにもWindowsAPIやメッセージループ、イベントドリブンについて勉強しなければなりませんし、
ゲームを作るにも画像処理の知識、ゲームループ、その他沢山のアルゴリズムを勉強する必要があります。
これは、いざ何かを作るとなったときに勉強したり、自分で考えるしかありません。

話は逸れましたが、何が出来るかという質問の答えは、「割と何でも出来る」です。
まずは何かを作ってみると、なんとなくわかるのではないでしょうか。
何でも良いです。作れそうに無いと思ったものでも、勉強しながら調べながら手探りで作るのです。
例えばとりあえずスペースインベーダを作ってみるとか。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 10:01
by softya(ソフト屋)
C言語の基礎の段階だと大したことが出来ないと感じると思います。
特に「やさしいC」は、難しいことを省いていますからね。

さて、C言語で何が出来るかというと結構色んなことが出来ます。
LinuxってOSはご存知ですか?あれは、C言語(大半)と少しのアセンブラで出来ています。
あとgccと言うC言語などのコンパイラもC言語で組まれています。
これらは、オープンソースなのでソースコードを閲覧することも出来ますよ。
あと、昔のゲームだとPSとかサターンの時代はC言語で組まれていました。
他にも、ロボットとか家電の組み込みマイコンとかプログラミング言語、データベースサーバ、WEBサーバなどなど。
NHKで見た番組で東芝の高級テレビCELLレグザのCELLのプログラミングにもC言語が使われていました。
もちろんウィンドウアプリも作れます。VECTORにあるフリーソフトなんかでもC言語とWindowsAPIで作られたものが結構あるはずです。

次の段階に進むためには、色々とC言語の文法の難しいことを勉強したほうが良いのは当たり前として、更に様々なアルゴリズムやOSなどの知識の勉強が必要です。
「音楽ソフトを起動するためのプログラムを作ろう」とかを考えているなら、WindowsOSならWindowsAPIを学ぶ必要があると思います。

[追記]
Windowsでアプリを作る場合、その前にC言語の力も付けなくてはいけません。
柴田望洋氏の書籍を読んでみてはどうでしょうか?
「新版 明解C言語中級編」、「解きながら学ぶC言語」、「明解 C言語によるアルゴリズムとデータ構造」あたりを読まれてどうでしょう?
http://www.bohyoh.com/Books/index.html
必要に応じて、「詳解C言語ポインタ完全攻略」や「新版 明解C言語実践編」も良いかと思います。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 19:07
by メルク
ありがとうございます。
とりあえずソフト屋さんが紹介してくださった本の内どれかを読んでみたいと思います。
それと並行して、このサイトのリンク先にあった分かりやすい解説を目標としたSTGのプログラムに
挑戦してみてC言語がどういうものかというのを把握してみたいと思います。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 19:12
by softya(ソフト屋)
メルク さんが書きました:ありがとうございます。
とりあえずソフト屋さんが紹介してくださった本の内どれかを読んでみたいと思います。
それと並行して、このサイトのリンク先にあった分かりやすい解説を目標としたSTGのプログラムに
挑戦してみてC言語がどういうものかというのを把握してみたいと思います。
先に「C言語~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/
を理解されたほうが良いと思います。龍神録はそのあとで。
ちなみに理解というのは、プログラムの部分を伏せていても説明に書かれていることが出来るプログラムを独自に組むことが出来ることです。
DXライブラリのリファレンスを自在に活用できるレベルを目指してくださいね。
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 19:39
by メルク
ソフト屋さんが紹介してくださった。
http://dixq.net/g/
に行ってみました。
そこでちょっと分からない事ができたんですけど、入門編の0章の部分の
「DxLib_VC2003用.sln」または「DxLib_VC2005用.sln」または「DxLib_VC2008用.sln」を開いて下さい。(※ファイル名は今後変わる可能性があります)
という項目なんですがどれを開いていいか分からないので「DxLib_VC2008用.sln」開こうと思ったんですけど
「このファイルは開けません」と出てきて「webサービスを使用して正しいプログラムを探す」という項目を
クリックしたんですけどこの先何をダウンロードすればいいのかよくわかりません。
何をダウンロードすればいいのかどなたか教えて頂けないでしょうか。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 19:50
by dic
何のためにC言語を習得されたのでしょうか?
その目的を達成するための手段ですよね?
趣味でしたらいいですけど

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 19:52
by softya(ソフト屋)
メルク さんが書きました:ソフト屋さんが紹介してくださった。
http://dixq.net/g/
に行ってみました。
そこでちょっと分からない事ができたんですけど、入門編の0章の部分の
「DxLib_VC2003用.sln」または「DxLib_VC2005用.sln」または「DxLib_VC2008用.sln」を開いて下さい。(※ファイル名は今後変わる可能性があります)
という項目なんですがどれを開いていいか分からないので「DxLib_VC2008用.sln」開こうと思ったんですけど
「このファイルは開けません」と出てきて「webサービスを使用して正しいプログラムを探す」という項目を
クリックしたんですけどこの先何をダウンロードすればいいのかよくわかりません。
何をダウンロードすればいいのかどなたか教えて頂けないでしょうか。
今まで、どんなC言語の開発環境を使われてきたのでしょうか?
実はVC2003,2005,2008用と言うのはマイクロソフトの開発環境であるVisualC++の年代の事です。
今までお使いのが使えるのなら、出来るだけそのまま使われたほうが良いと思います。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 20:05
by メルク
この名前で正しいのかよく分からないんですけどデスクトップにあるアイコンに書いてある名前を
そのまま打ちます「bcpad」
↑のソフト自体は知り合いからもらったパソコンの中に入っていたのでそれをそのまま使うように
なったのでC言語が使えるという以外詳しい事はよく分からないんです・・・

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 20:19
by bitter_fox
メルク さんが書きました: 「DxLib_VC2003用.sln」または「DxLib_VC2005用.sln」または「DxLib_VC2008用.sln」を開いて下さい。(※ファイル名は今後変わる可能性があります)
という項目なんですがどれを開いていいか分からないので「DxLib_VC2008用.sln」開こうと思ったんですけど
「このファイルは開けません」と出てきて「webサービスを使用して正しいプログラムを探す」という項目を
クリックしたんですけどこの先何をダウンロードすればいいのかよくわかりません。
何をダウンロードすればいいのかどなたか教えて頂けないでしょうか。
「やさしいC」で勉強してるときはどういったコンパイラを使ってたのでしょうか?
(検索するとLSI C-86と出てくるのでこれなのかな・・・?)

ところで、上のファイルを開くためにVisualStudio C++(以下VC)が必要です。(C++となってますがC言語も当然コンパイルできます)

で、現在マイクロソフトはVCの2008と2010のExpessEditionと言うエディションを無料で配布しています。
ですので、2008か2010のどちらかを以下からダウンロードしてみてください。
http://www.microsoft.com/japan/msdn/vstudio/express/
http://www.microsoft.com/japan/msdn/vst ... t/express/

上が2010で、下が2008です。

ダウンロードおよびインストールの手順は以下が参考になります。
http://cvwww.ee.ous.ac.jp/vc10inst.html
http://cvwww.ee.ous.ac.jp/vc08inst.html

上が2010で、下が2008です。
[hr][追記]
メルク さんが書きました:「bcpad」
↑のソフト自体は知り合いからもらったパソコンの中に入っていたのでそれをそのまま使うように
なったのでC言語が使えるという以外詳しい事はよく分からないんです・・・
bcpadで検索するとどうやら「borland」と「LSI C-86」に対応した統合開発環境のようですね。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 20:22
by softya(ソフト屋)
Borlandのコンパイラが入っている可能性が高いですね。
「Borlandをお使いの方」って手順を使われるのも手です。
ここは、Visual C++ 中心で説明されているのでこの際「Visual C++ 2010 Express」を導入するのも手です(共存可能)。
ただ、「Visual C++ 2010 Express」はPCの要求スペックが高いのとHDDの容量を食うので、そこは考えてみてください。
「Visual C++ 2008 Express Edtion」はまだ軽いですが、HDD容量はそれなりに消費します。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 20:45
by メルク
とりあえず、「Visual C++ 2008 Express Edtion」をダウンロードして使ってみようと思います。
ありがとうございました。

Re: 基本はほとんど習得したけど・・・

Posted: 2011年2月03日(木) 23:04
by Dixq (管理人)
>音楽ソフトを起動するためのプログラムを作ろう

どういう用途かが良く分からないのですが、
C言語から実行ファイルを起動するだけでいいのなら、
システム関数で一行で書けるのではないでしょうか?
system("ココ");
に実行したいファイル名を書けば同階層の指定した実行ファイルが実行できますよ。
まぁやりたいのはそれだけではないのでしょうけど・・。

私もCを学んでいる時「学んでどうなるんだ・・」と思いました。
もうすでに回答が上がっていますが、Cはあくまで何かを作るための土台ですから、
何かに特化したことをしたいなら特化したことを勉強しないといけません。
これも既に紹介されていますが、うちのサイトで紹介しているDXライブラリはCの基本を知っているだけで
ゲームが作れる神ライブラリなのでお勧めです。