トップページ⇒tech
1001コメント319KB

おまいら!今日からC言語を学んでいくぞー!

■ このスレッドは過去ログ倉庫に格納されています
0001ポポ素 ◆Qgm8RFT0/. 2005/09/24(土) 03:54:30
あたいのスペックは
26歳フリーター、パソコン歴インターネット歴は6年
しかしそれ以外の事は何もできにゃーい…
というわけで今日から参考書を買ってがんばります!
今まさに私みたいに、これからCを勉強するぞって人いたら
よろしくね
0002デフォルトの名無しさん2005/09/24(土) 03:55:01
ガンガレ
0003デフォルトの名無しさん2005/09/24(土) 03:59:06
何か定期的にこういうスレ建つよな
0004デフォルトの名無しさん2005/09/24(土) 04:37:44
立ったスレ全部相手にしてたらゲ製作でノイローゼになった奴みたいになるぞ
0005ポポ素 ◆Qgm8RFT0/. 2005/09/24(土) 04:52:17
そんなこといわずに
よろしくお願いします☆
0006デフォルトの名無しさん2005/09/24(土) 04:54:04
悪くない
0007 ◆2GoFr2QJSw 2005/09/24(土) 08:58:01
よし、オレも初心者なんで参加する!
0008デフォルトの名無しさん2005/09/24(土) 09:02:53
とりあえず、やめるときはやめる宣言しろ。
0009デフォルトの名無しさん2005/09/24(土) 09:21:22
俺も初心者だけど参加
目票は処理系つくること
0010 ◆KXFDiRX4jE 2005/09/24(土) 09:31:38
俺も参加するよ
0011デフォルトの名無しさん2005/09/24(土) 09:44:08
なかなか面白そうだな〜参加希望
0012デフォルトの名無しさん2005/09/24(土) 09:48:16
じゃ俺、非常勤講師やるよ
0013デフォルトの名無しさん2005/09/24(土) 09:52:12
じゃあ俺も参加するよ
コンパイラはどれがいいの?
0014デフォルトの名無しさん2005/09/24(土) 11:28:31
学生なら
http://www.microsoft.com/japan/msdn/student/premium/

無料がいいなら
http://www.borland.co.jp/cppbuilder/freecompiler/ と http://www.hi-ho.ne.jp/jun_miura/bccdev.htm のセット

その他の方は
Visual C++か、Visual studio.NETでいいんじゃない
0015デフォルトの名無しさん2005/09/24(土) 11:58:13
■■■■■■■■■■■■■■■■
■                      ■  違う板にコピペすると、四角の枠の中に
■       _,,..,,,,_             ■  メッセージとURLが現れる不思議な絵。
■      / ,' 3  `ヽーっ          ■
■.     l   ⊃ ⌒_つ           ■
■      `'ー---‐'''''"             ■
■                      ■
■                      ■
0016デフォルトの名無しさん2005/09/24(土) 12:02:47
で?
0017デフォルトの名無しさん2005/09/24(土) 12:06:24
んで、C言語で何のアプリをつくるのさ?
0018デフォルトの名無しさん2005/09/24(土) 12:15:39
>>1
Cなんかじゃなくjavaにしよーぜ!!
0019デフォルトの名無しさん2005/09/24(土) 12:17:02
ほんとにやる気があるなら質問位には答えてやろう。
っつっても職業プログラマじゃなくてアマチュアだがなw
0020デフォルトの名無しさん2005/09/24(土) 13:00:47
もう「単独スレ勃てんな脳足りん。帰れ。」とか言うのも疲れた。
0021デフォルトの名無しさん2005/09/24(土) 13:07:04
>>19
質問です!
なんでそんなに偉そうなんですか?
0022デフォルトの名無しさん2005/09/24(土) 13:09:01
えらそうってか、気軽に質問オッケーよ!みたいなノリに見えるが。
0023192005/09/24(土) 13:09:59
>>21
そんなの決まってるじゃないか。気分だw
特に意味はない。
0024デフォルトの名無しさん2005/09/24(土) 13:11:39
>>23
ありがとうございました!
0025デフォルトの名無しさん2005/09/24(土) 13:44:13
「わたしが教官のグレン団長である  
 話しかけられたとき以外は口を開くな
 口でクソたれる前と後に“サー”と言え
 分かったか、ウジ虫ども!」

「サー!イエッサー!」

この方式で教えよう。
0026デフォルトの名無しさん2005/09/24(土) 13:51:11
サーアイアイサー
0027デフォルトの名無しさんNGNG
俺も参加するよ。とりあえず>>14の無料のやつをダウソ中
0028 ◆/VtxCG/TnI 2005/09/24(土) 14:10:11
俺漏れも
0029デフォルトの名無しさん2005/09/24(土) 14:14:13
麻呂も麻呂も
0030デフォルトの名無しさんNGNG
ふー、なんとかインストールできた・・・
0031デフォルトの名無しさんNGNG
つーかみんなどの解説サイト見てんの?
俺はttp://www.sgnet.co.jp/c/ ここを参考にしてるけど
0032デフォルトの名無しさん2005/09/24(土) 14:57:35
C覚えるなら猫でしょ。書き方がおっさんくさいけど内容は優秀。
ttp://www.kumei.ne.jp/c_lang/
003319 ◆i386l.xq6k 2005/09/24(土) 15:07:21
>>31
定番だけど猫は見とくべき。

猫で基礎を固めて、基礎以上のことは何か
作りたいものを作りながら学ぶといいかも。
例えばゲーム作るなら Win32 API、DirectX、WinMM とかを
"実際に利用することで" 学ぶ。この辺は「使い方」を知ってれば十分だから。

それと平行して STL とか boost も使っていけば
ほぼ作れないものはなくなる。
こっちはあると綺麗なコード、バグの少ないコードが書けるようになる。
0034デフォルトの名無しさん2005/09/24(土) 15:24:38
なにげに良スレになってきた予感
0035デフォルトの名無しさん2005/09/24(土) 15:26:18
漏れも参加しまっす
0036デフォルトの名無しさん2005/09/24(土) 15:30:53
まず人の書いたプログラムを読めるようになれ
書き方も大事だが、そっちが先だ
0037デフォルトの名無しさんNGNG
>>32 >>33
おお、ありがとうございます。早速お気に入りに追加しますた。

しかし読めば読むほど自分の無知が露見してくるorz
C言語の前にPCの基本用語から勉強しなきゃなぁ('A`)
0038デフォルトの名無しさん2005/09/24(土) 16:18:51
>人の書いたプログラムを読めるようになれ
めんどくさいよなあこれ
0039デフォルトの名無しさん2005/09/24(土) 16:20:07
コメント無しで
void *org;
org = *(void **)(*(DWORD *)target + offset);
*(void **)(*(DWORD *)target + offset) = proc;
return org;
こんなの書かれてたら泣く。
0040デフォルトの名無しさん2005/09/24(土) 16:23:59
ttp://www.nmn.jp/~hidai/c/
本稿の目標としては、大学の簡単な課題がこなせる程度になることとしましょう。
(言語は道具であり、目的ではありません。C言語のすべての機能を網羅するよりC言語を学習するものにとって何が必要かを考えて編集しました。)


量が適切でいいかも
0041デフォルトの名無しさん2005/09/24(土) 17:05:55
>>40
いいね、それ

それとhttp://homepage2.nifty.com/natupaji/DxLib/だけで簡単なゲーム等は作れるようになるかも
0042デフォルトの名無しさん2005/09/24(土) 17:06:14
わかったから初心者どもはまず”HelloWorld!”を画面に出すプログラムを作りやがれ
0043デフォルトの名無しさん2005/09/24(土) 17:11:44
>>41
DXLIBは本来のDirectXプログラミングが出来なくなるくらい
言語仕様が簡単になるらしいけどそのへんどうなんすか
0044デフォルトの名無しさん2005/09/24(土) 17:13:37
画面に出すプログラム

もっとプログラムが必要な"1から50までの和を計算して表示"とかの方がいいぞ
004519 ◆i386l.xq6k 2005/09/24(土) 17:14:12
>>42
Hello World は、プログラムを書くことよりも、
ソースを書く→コンパイルする→実行する
っていう流れを学ぶ目的が大きいんじゃないかと思う。
つまりは開発環境の使い方だな。
プログラムの書き方を学ぶなら○×ゲームでも作ったほうがよっぽど良い。
0046デフォルトの名無しさん2005/09/24(土) 17:20:19
>>45
そんな事は分かりきっているから説明するな

>>42が出来たらファイルから数字を読み込み大きい数から順に並べて画面に表示するプログラムを書け
条件
1.ファイルには数字が文字形式(テキストエディタで読める形式)で保存されている
2.1行に1つ数字が入っている
3.数字の範囲は(0〜65535)
4.数字は最大100個
5.ライブラリ関数qsortは使用しないこと
0047デフォルトの名無しさん2005/09/24(土) 17:21:31
>>46はとても偉そうで従う気がしないな。
0048デフォルトの名無しさん2005/09/24(土) 17:31:52
Hello, WorldからいきなりIOと配列とソートアルゴリズム覚えさせるのってどうよ
0049デフォルトの名無しさん2005/09/24(土) 17:32:43
>>43
本来のDirectXプログラミングをしたことが無いのでわかりません。
0050デフォルトの名無しさん2005/09/24(土) 17:35:29
>>48
IOと繰り返し、分岐の組み合わせで出来ている上にアルゴリズム自体高校生でも考え付くレベルなのでちょうど良い
ifでの分岐はこれ、whileでの分岐はこれなんて感じで覚える必要もないだろ
0051デフォルトの名無しさん2005/09/24(土) 17:38:16
じゃあ俺は寝る役ね!
0052デフォルトの名無しさん2005/09/24(土) 17:40:01
>>51
もう終ったのか?じゃあ、次だ

100×100(単位は気にするな)の壁に囲まれた領域がある、そこの(50,0)から(50,50)に壁がある
(0,0)から適当な角度で物体を打ち出した時に物体が通る軌跡を求めろ

条件
1.物理法則に従ってもいいし、従わなくても良い
2.物体が壁にぶつかったときは反射する(これも厳密でなくて良い)
3.暇があったら図示しろ
0053デフォルトの名無しさん2005/09/24(土) 17:42:31
誰かこの一人で爆走してるバカを止めてくれ
0054デフォルトの名無しさん2005/09/24(土) 17:43:12
>>52
次
0055デフォルトの名無しさん2005/09/24(土) 17:44:04
別に止めんでもいいだろ
誰もついていかないから
0056デフォルトの名無しさん2005/09/24(土) 17:44:53
初心者向きでプログラム作る時のネタってどんなのがいいかな?

やっぱゲームかな?
簡単なところから行くと数当てとか...
0057デフォルトの名無しさん2005/09/24(土) 17:48:32
>>54
じゃあ、応用だ

とりあえず、3Dになっていて壁に囲まれた通路をイメージしてくれ
その壁の中をやっぱりなんか物体を飛ばした時の軌跡を求めろ


0058デフォルトの名無しさん2005/09/24(土) 17:51:19
求め方がわからん
0059デフォルトの名無しさん2005/09/24(土) 18:09:41
>>58
>>52に戻ろう
まず、物体の座標を(x、y)であらわす所は理解できてるか?

(0,0)から物体を速度v、角度θで打ち出すと時間をtとして描く軌跡はx=(v×cosθ)×t、y=(v×sinθ)×tになる
※めんどくさいので以後はv×cosθをvx、v×sinθをvyとする
時間tと時間(t+1)の間に(x,y)の描く位置に壁があったらぶつかったと判断できる

ここまで解ったか?
0060デフォルトの名無しさん2005/09/24(土) 18:24:34
ここID無いんだな。NG登録効かんのか
0061デフォルトの名無しさん2005/09/24(土) 18:26:47
そうか、もうやめるよ
0062デフォルトの名無しさん2005/09/24(土) 18:34:35
プログラミングを独習するには10年かかる
http://www.yamdas.org/column/technique/21-daysj.html

> 研究者 (Hayes, Bloom) によると、チェス、作曲、絵描、ピアノ演奏、水泳、テニス、そして神経心理学や
> 位相幾何学の研究を含む、広範な分野のいずれについても、専門技術を身につけるにはおよそ十年か
> かるそうだ。近道など実在しないようなのだ。4歳にして音楽の神童だったモーツァルトでさえ、世界的な
> 楽曲を作り出すまでに13年以上の時間を要したのだ。サミュエル・ジョンソン[訳注2]は、「どんな分野に
> おいても、生涯にわたる努力なくして優れたものには達し得ない。それよりも安い代償で手に入れること
> はできないのだ」と、それには十年以上かかると考えた。
006319 ◆i386l.xq6k 2005/09/24(土) 18:40:15
>>62
そんなにかからないと思うぞ。
私の場合 C++ やり始めて3年でほぼやりたいことは
一通り出来るくらいにはなれたから。

ただ、何度挫折しても挫けないほどの根気と、
何かが作りたいっていう意思がないとキツイかもな。
0064デフォルトの名無しさん2005/09/24(土) 18:56:14
C++自体を一通りできるようになるには数年もあれば十分だと思うけど、
使いこなすには経験をためる必要があって、それにはやっぱり10年くらいかかると思う。

とプログラミング始めて2年の俺が言ってみる。
0065デフォルトの名無しさん2005/09/24(土) 19:00:59
>>63
そこまでどうやって辿り着いたのか、軽く書いてもらえると、
後進としては助かる。
0066デフォルトの名無しさん2005/09/24(土) 19:02:23
課題まとめ
>>42 HelloWorld!を出しやがれ
>>44 1から50までの和
>>46 ファイルから読み込み大きい数から並べて
>>52 物体が通る軌跡を求めろ
0067デフォルトの名無しさん2005/09/24(土) 19:02:27
>>65
書いてあるじゃん
0068デフォルトの名無しさん2005/09/24(土) 19:08:02
>>42
#include <iostream>

int main()
{
    using namespace std;
    cout << "hello, world" <<endl;
    return EXIT_SUCCESS;
}
0069デフォルトの名無しさん2005/09/24(土) 19:17:59
>>44
#include <iostream>

int sum(int num)
{
    if (num==0)
        return 0;
    return num+sum(num-1);
}

int main()
{
    using namespace std;
    cout << sum(50) <<endl;
    return EXIT_SUCCESS;
}
0070デフォルトの名無しさん2005/09/24(土) 19:19:06
まずアセンブラやらないと分からないんだけどな
0071デフォルトの名無しさん2005/09/24(土) 19:20:35
>>44
#include <iostream>

int main()
{
using namespace std;
int i,no = 0;
for(i=1;i<51;i++) no+=i;
cout << "1から50までの和 = " << no <<endl;
return EXIT_SUCCESS;
}
0072デフォルトの名無しさん2005/09/24(土) 19:33:03
今日はシェルソート見た。感動した。
0073デフォルトの名無しさん2005/09/24(土) 19:40:06
>>71
forの中、i <= 50にしようよ。
007419 ◆i386l.xq6k 2005/09/24(土) 19:55:42
>>65
まぁ、>>33 に書いたのとほぼ同じ感じ。
ふと何か作ろうと思い立って、必要なライブラリを使いこなすため
いろいろ調べて、試行錯誤しながら製作。そして途中で挫折。
そんなことを何度も繰り返してた。

MMORPGを作ろう!とかWinnyもどきを作ろう!とか今思えば無茶だったけど…
まぁ、なんかやるたびに新しいことが身についたと思う。

>>70
アセンブラは決して "必須" じゃないからだいじょぶ。
アセンブラが使えると、デバッグや高速化が楽になるだけで。
まぁ、MMX とか SSE とか使うにはアセンブラ必須だけどね。
0075デフォルトの名無しさん2005/09/24(土) 19:56:46
ここはあえてコードを難しくするのが暗黙の了解なのか?
0076デフォルトの名無しさん2005/09/24(土) 19:58:36
>>74
アセンブラは考え方として重要じゃないか?
ポインタにはまったらアセンブラの勉強するとすぐ理解できる
007765(後進)2005/09/24(土) 20:08:40
>>67
>>19=>>74
ありがとう。間が抜けていました。
007865(後進)2005/09/24(土) 20:12:10
ぶっちゃけた話、P2Pが普及している現在、ある程度IDEは持ってます。
これからはそれらを破棄します。

文法を覚えたら、自分の金で買います。当然ですね。
頑張ろう。
0079デフォルトの名無しさん2005/09/24(土) 20:12:43
>>75
どの辺が難しい?
008019 ◆i386l.xq6k 2005/09/24(土) 20:21:38
>>76
確かにそのとおり。だけど、
だからといって必須ってわけではない、ってことを言いたかった。
0081デフォルトの名無しさん2005/09/24(土) 20:49:00
>>78
割れ使った時点で落第、通報しますた。
0082792005/09/24(土) 21:00:30
>>75は>>69と>>71の違いをいってるのか?
総和の定義を知ってると>>69のコードになっても不思議はないよ
0083デフォルトの名無しさん2005/09/24(土) 21:04:42
>>73
漏れは、for文の判定は'<'だけと決めている。
が、他の人はどうでもいい。
008465(後進)2005/09/24(土) 21:13:01
>>81
使ってないよ、集めただけ。
懺悔したんだから赦してよ。
0085デフォルトの名無しさん2005/09/24(土) 21:15:47
ウーン、コ
0086デフォルトの名無しさん2005/09/24(土) 21:19:38
C は難しい。
もう挫折しそうだ....
0087デフォルトの名無しさん2005/09/24(土) 21:23:33
>>86
分からない所は、分かっているか?
0088デフォルトの名無しさん2005/09/24(土) 21:38:10
おまいらプログラムにツッコミ入れるのはいいんだが理由ぐらい書こうぜ
理由もわからず書き方変えたって何にもならないぞ
素人ギャラリーもたくさん見てるんだから意識しろ
0089デフォルトの名無しさん2005/09/24(土) 22:14:03
>>46
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;
const char *filename="number.txt";
int iNumber[100], NumMax=0;

void CreateNumberFile()
{
    int articles=rand()%100+1;
    ofstream fout(filename);
    for (int i=0 ; i<articles ; i++)
        fout << rand()%65535 << endl;
    fout.close();
}

void ReadNumberFile()
{
    char tmp[80];
    int i=0;
    ifstream fin(filename);
    while (!fin.eof())
    {
        fin >> tmp;
        sscanf(tmp, "%d", &iNumber[NumMax++]);
    }
    NumMax--;
    fin.close();
}
0090デフォルトの名無しさん2005/09/24(土) 22:15:42
>>89の続き
void swap(int *tmp1, int *tmp2)
{
    int tmp=*tmp1;
    *tmp1=*tmp2;
    *tmp2=tmp;
}
void Sort()
{
    for (int i=0 ; i<(NumMax-1) ; i++)
    {
        for (int j=i+1 ; j<NumMax ; j++)
        {
            if (iNumber[i] < iNumber[j])
                swap(&iNumber[i], &iNumber[j]);
        }
    }
}
void DisplayNumbers()
{
    for (int i=0 ; i<NumMax ; i++)
        cout << iNumber[i] << endl;
}
int main()
{
    CreateNumberFile();
    ReadNumberFile();
    Sort();
    DisplayNumbers();
    return EXIT_SUCCESS;
}
0091デフォルトの名無しさん2005/09/24(土) 22:21:41
VIPのGWにC言語を覚えるスレの残党ですが同じ奴いる?
0092デフォルトの名無しさん2005/09/24(土) 22:25:54
>>91
上から見てたけど
時間の無駄だと思ったから見るのやめたぜ
0093デフォルトの名無しさん2005/09/24(土) 22:33:37
問題以外みてなかったから状況把握してなかったorz
新たな先生降臨待ち
0094デフォルトの名無しさん2005/09/24(土) 23:28:25
突然スマンが、Amazonのカスタマーレビューにホームページ関連
って書いてあったんだけど、ホームページ作れるって事?
0095デフォルトの名無しさん2005/09/24(土) 23:45:58
先生はなぁ
他スレ周りに忙しいんだぞぉ
生徒のほうから来てくれないと
教えきれないんだぞぉ
0096デフォルトの名無しさん2005/09/24(土) 23:54:36
やっぱり、なんか強烈に作りたいものがあるほうが上達も早いんかなぁ。
今のところ、単に知りたいだけだもんなぁ。。。
プログラミングってオサレでカコイイって程度の。
0097デフォルトの名無しさん2005/09/25(日) 00:00:37
コンパイラやインタプリタを作りたい
教えろ
0098デフォルトの名無しさん2005/09/25(日) 00:03:18
>>97
まず、ドラゴンブックかなんかその辺の本を1冊仕入れて来い
0099デフォルトの名無しさん2005/09/25(日) 00:03:54
>>97
何を教えて欲しいんだ
0100デフォルトの名無しさん2005/09/25(日) 00:05:05
またプログラムやろうよ
http://ex11.2ch.net/test/read.cgi/news4vip/1127536695/
0101デフォルトの名無しさん2005/09/25(日) 00:16:29
徐々に簡単な問題から出していっていつの間にかコンパイラ作れるようになってるって感じで頼む
■ このスレッドは過去ログ倉庫に格納されています