こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語の勉強について

C言語の勉強について
わたしは、前からC言語に興味を持っており入門書を買って勉強しました。
基本的なことは理解できましたが、これからどうすればいいのかわからなくなってしまいました
Cに興味を持つ前はHSPをしていたのですが、これはさすがにプログラムの基本さえわかっていれば
ヘルプを開き自分で考えて、だいぶ本格的ななゲームも作れたのですが、Cは思ったとおりに行かなくて
そもそも、コマンドプロンプトから実行するプログラムしかわからないのですが
みなさんは、私くらいのころはどんなことをしていましたか?
ひたすらプログラムを書いていましたか?
それとwindowsアプリケーションの開発はもっと後になりますか?
C言語ではどんなソフトを作ったりしたことがありますか?

投稿日時 - 2010-03-06 23:51:55

QNo.5731057

すぐに回答ほしいです

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

ウィンドウズでゲームを作りたいなら、VC++(というより、win32api)とDirectXの勉強が必須です。

ただ、VC++の書籍は内容が非常に貧弱なため、あまりお勧めしません。

winでアプリを作る際、私がもっとも役に立った書籍は、windows NTアドバンストプログラミングという本です。古い本ですが、windowsNT系のOSの理解が出来る点と、サンプルプログラムが豊富でC++の理解も進む点で良著でした。

ネットで勉強するなら、「猫でもわかるプログラミング」のSDK編でしょうか。

参考URL:http://homepage2.nifty.com/c_lang/index_sdk.html

投稿日時 - 2010-03-07 15:47:47

お礼

みなさん、ご回答ありがとうございました
7つの回答をいただいてとても勉強になるご回答をいただきました
がんばっていきたいと思います

投稿日時 - 2010-03-21 11:28:29

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.7

42歳男性です。コンピュータの仕事をしています。

そうですね、初めたのは中学生のとき。昔なので、N88-BASIC(初期のNEC-PCのBASIC)、機械語、アセンブラ、FORTRAN、C言語、C++、...の順番で、この辺りで成人して仕事に就きました。その後、Yacc/Bisonとかawk、perl、oak(Javaの前身言語)、ほかに言語理論とかもやったりして色々ありましたけど、現在はASP、JSP、C#とかですネ。

趣味がそのまま仕事へと転化したので、今でも変わりはないですが、暇さえあれば、ひたすらプログラム書いています。完成したものも、しないものも沢山あります。完成してないほうが多いかな?

昔のソースとか全て取ってあって、気が向いたときに見たり作り直したりしています。自分の歴史みたいなところもあって、今では思い浮かばないようなすばらしいコードが書かれていたりして驚くこともしばしばです。

Windowsは、今から15年ぐらい前、社会人になってからなんですけど、Windows 2.11の頃で、転職するときに本当は何も知らないのに「できます!」って公言して転職したものだから必死でした(笑)。

どういうソフトを作ったかというと、色々としかいえません。仕事になる前は、今はフリーソフトというものがあるから、つくろうなんて誰も思わないだろうけど、私の時代は、パソコンショップもないしソフト屋さんもないし、フリーソフトとかも一切無い時代だから、お絵かきソフトとかゲームとか何でも自分で作ってました。マイコン雑誌(昔はパソコンではなくマイコンと言った)にゲームを作るためのコードが書かれていて、これを書き写しては作っていました。

仕事として使うようになると、Windows以前は、windowsもどきみたいなシステムとか画像解析(ものの形状を計測して寸法を測るとか)、仕事ではプリンタやコピー機のファームウェアとか、炊飯器や洗濯機のファームウェアですね。近頃はそういう仕事は無くなって、携帯電話、モバイルアプリ、電話会社の会計システムとか、カード会社の受付システムなどです。

自宅での趣味では、自分専用のツールとか、巷で出回っているフリーソフトのコピーを作っています。コピーとは、同じ機能を実装するプログラムを1から作るという意味ですよ。

仕事でやると、いやなこともあるけれど、とにかく知らないことが沢山あってプログラム好きにはたまらないと思います。

あと、言語の勉強は、そう誰でもサクサク覚えられるというわけではないと思います。
自分なんかは、C言語の本は買ったけどしばらくは眺めるだけとかいう時期がありました。いまだ!みたいな時があって、そういうときに集中的に覚えました。C言語はかなり長いこと使っていましたよ。使い込んでいくうちに不便なところとか面倒なところ、こうなっていたらいいなぁみたいなところが出てきて、祖言う言うときにC++を覚えたので、非常にC++がよくできていることが身にしみてわかります。
今はほとんどC#です。C#ってC++とかに比べるととっても便利ですからね。

投稿日時 - 2010-03-08 08:02:37

ANo.6

私はRPGツクール→C→C++→C#とレベルアップしてきたので、質問者様と重なる部分があるかもしれませんね。

>みなさんは、私くらいのころはどんなことをしていましたか?
私が質問者様の頃は、やねうらお氏の書籍や記事、SDKを参考にしながらひたすらゲーム作ってました。ただし、仮に当時DXライブラリの存在を知っていたら、No.1氏がお勧めされているDXライブラリとゲームプログラミングの館あたりを参考にしていたと思います。

>それとwindowsアプリケーションの開発はもっと後になりますか?
>C言語ではどんなソフトを作ったりしたことがありますか?
C言語でまともに何かを作った記憶はありません。windowsアプリもすっ飛ばしたので、今だにC/C++でwindowsアプリを作る方法を知りません。でもC++とDirectXでゲームは作れます。(なぜCではなくC++かというと、やねうらお氏はオブジェクト指向、つまりC++を前提に書かれるので覚える必要があったからです)

投稿日時 - 2010-03-08 01:05:03

もし、C言語にこだわらないのであれば、PHPなどのweb系の言語はどうでしょうか。
正直、C言語(あるいはC++)にこだわってもあまり発展性がありません。
むしろ、webサーバーの知識も含めweb系の言語ならば、これから益々発展していくでしょうし、面白いことがいろいろとできます。
そして、web系言語の一番良いところは、ブラウザ上に表示するため、画面設計に要する手間を半減できます。
HTMLとCSSの知識は必須ですが、それさえ覚えてしまえば、話はどんどんと広がります。
また、web系言語の場合MySQLなどのデータベースとも相性がいいのも、特徴です。
今まで話したことは、すべて無料でできます。
また、もし良いプログラムができたら、
http://sitemix.jp/
このような無料のレンタルサーバーで公開してもいいでしょう。
(但し、レンタルサーバーでプログラムを公開する場合、あらかじめ動作確認が必要です)
ロジックを楽しみたいのならば、あまり言語にこだわらない方がいいと思います。

投稿日時 - 2010-03-07 14:55:05

ANo.3

僕は次々とほかの事を学んでいきました。もちろん理解できないことだらけでしたが、一通りやってから後でもう一度見直すと、けっこう理解できましたよ。それに真似しただけでも動くプログラムの方が、モチベーションが維持しやすいかと思います。
Windowsプログラミングはとても難しい気がしますが、できたほうが多くのことができるようになるため、やる価値はあると思います。
また、個人的にはC++の勉強をオススメします。今主流になりかけている、オブジェクト指向について触れることができるため、いいと思います。
またCにこだわらないのであれば、Javaをやってみるのもいいと思います。
URLなど参考に頑張ってください。

参考URL:http://wisdom.sakura.ne.jp/

投稿日時 - 2010-03-07 13:56:38

ANo.2

>みなさんは、私くらいのころはどんなことをしていましたか?
>ひたすらプログラムを書いていましたか?
プログラムの新規作成はあまりせず、
パソコンやインターネットを構成している
いろいろな仕組みの勉強に重点を移していました。
(自身の興味もそこにあったので)

具体的には、
・システムの構造(OS内部構造、ハードウェア内部構造)
・ネットワークプロトコルいろいろ(TCP/IP、HTTPなどなど)
・アルゴリズムや実現方式いろいろ(GUI実現の仕組みとか)
など

上記の学習手段の一つとして、
いろいろなプログラムを解析したり、改造したりしていました。
Linuxのカーネル、Apache、
KDEの応用アプリ、KDE本体(Windowマネージャ)
など

# Linux系ばっかりですいません。

>それとwindowsアプリケーションの開発はもっと後になりますか?
いますぐやりましょう!!
興味のあることなら、何にでもすぐ着手!!
これが成長の一番の秘訣!!!

ゲーム系なら、ちょっと古いですが、
やねうらおさんという一部では有名な方が中心に
開発したSDKもありますね。
YaneuraoGameSDK.NET
http://yanesdkdotnet.sourceforge.jp/

このやねうらおさんですが、その他非常に勉強になる内容も記載しているので、参照してみてください。
(上記SDKの内部開発情報などもあります)
Programming 集中講義
http://www.sun-inet.or.jp/~yaneurao/intensive/
スーパープログラマーへの道
http://www.sun-inet.or.jp/~yaneurao/rsp/loglist.html


>C言語ではどんなソフトを作ったりしたことがありますか?
根がシステムインテグレータ(システム基盤専門家)なので、
ゼロから何かを作成するよりも、
かゆいところに手を届けるオープンソース改造モノがメインです。
・Apacheモジュール改造 ・Linuxカーネル改造
・LinuxPAMモジュール改造 ・Linux標準Cライブラリ改造
・gccコンパイラ改造 ・Tomcat/Jasper改造

# やっぱりLinux系ばっかり…
# Windows系はソースコード非公開ばかりで改造できなくて…(言い訳)

Windows系は、
DirectX9(3D)でシェーダを利用する
プログラムをちょこっと作成したぐらいかも。。

投稿日時 - 2010-03-07 02:46:03

ANo.1

zwi

私は昔の人なんで、C言語から直接VRAMに画像を描画していました。あるいはアセンブラを使って描画します。MS-DOS時代は、それが当たり前でした。この技、実はWindowsXPまでなら使うことが出来ます。

ちなみに、C言語だけで出来るツールって結構有りますよ。
VectorのMS-DOSカテゴリの大半はC言語です。
http://www.vector.co.jp/vpack/filearea/dos/

>それとwindowsアプリケーションの開発はもっと後になりますか?
C言語で自在にプログラムが書けるなら、すぐさまWin32APIの勉強に移っても構いませんよ。ゲームならDXライブラリとかに行った方が良いでしょうが。
「DXライブラリ置き場 HOME」
http://homepage2.nifty.com/natupaji/DxLib/
「ゲームプログラミングの館」
http://dixq.net/g/
「ゲーム作りで学ぶ!実践的C言語プログラミング」
http://karetta.jp/book-cover/game-programming

>C言語ではどんなソフトを作ったりしたことがありますか?
C言語でコンパイラやらインタプリタとか、ファイル圧縮ツールとか、ゲームとか色々有ります。

投稿日時 - 2010-03-07 00:51:12

あなたにオススメの質問