ページ 11

最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 11:08
by レン
タイトルの通り、最近C言語を学び始めたのですが、今は、MicrosoftVisualC++2008というソフトにひたすら、本に書いてある、ソース?を入力して暗記する。
という、毎日を送っています。最初はこうして学んでいくものなのでしょうか??
また、もっと効率的に勉強する方法や、間違っているところがあれば教えていただけないでしょうか??

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 11:25
by シエル
最初はとにかく片っ端からソースを打ち込んで動かしていって
そのエラーに対応していけば、ある程度は書けるようになりますよ。
ある程度理解できてきたら、自分でプログラムを考えて書いてみて思い通りに動かせる
か何回もやってみる。
とりあえず、たくさんコードを書いてその意味を理解することです。
そのうち慣れてきますよ。

私はC言語を完全に独学で学んでいますが、C言語の入門書などは買わず、
全てネットにある情報だけでひたすら勉強しました。
それでも簡単なゲームなどはある程度作れるようになりましたよ。
まあ、しっかりした基本を学ぶには入門書にしたがって勉強することをお勧めしますがw

私は最初は挫折しかけましたが、諦めずに勉強して、ある程度理解できるようになりました。
頑張って下さい!

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:27
by レン
動かすというか、ソースを打ち込んで、コンパイルして表示するという感じです。
たとえば、
#include <stdio.h>

int main(void)
{
int no;

printf("整数を入力してください:");                結果は   
scanf("%d", &no);                    整数を入力してください:357 
                               その数の10倍は3570です。
printf("その数の10倍は%dです。\n", 10 * no);

return 0;
}

というソースなどをひたすら書いています。
そして、printfの意味、使い方やscanfの意味、使い方などを学んでいくという手順です。
こんな感じでいいのでしょうか??

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:28
by シエル
いいと思います。

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:34
by レン
ありがとうございます。安心して作業を進めることができます^^

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:43
by レン
あっ、もうひとつ気になっていることいいでしょうか。

初心者なもので質問の意味がわからないかもしれませんが・・・
MicrosoftVisualC++2008を使っていて、ひとつのプロジェクトにひとつのソースファイルがありますが、
ひとつのプロジェクトに作れるソースはひとつだけで、もうひとつ新しいソースをつくろうと思ったら、もうひとつプロジェクトを作ってするしかないのでしょうか??

わかりにくくてすいません^^;

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:48
by シエル
一つのプロジェクトにいくつでも追加できます。

左の方にあるソリューションエクスプローラから
ソースファイルを選択→右クリック→新しい項目を追加で
c++ファイルを選べば追加できます。

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:56
by toyo
念のために
ソースファイルは何個でも問題ありませんがmain関数は1つのプロジェクトに1個だけです
1つのソリューションに複数のプロジェクトは可能です

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 12:58
by レン
ですが、それだと、一個目のソースはうまくコンパイルできるのですが、2個目から、既に定義されている。
とか。~は1つ以上の複数回定義する。とかでてくるのですが・・・
どうしたらいいのでしょうか??

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 13:08
by シエル
複数回定義しているものがあると思われます。
分割コンパイルを学んでください。

それか、ソースを全て貼ってください

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 13:29
by レン
今の状態は、

ソリューション
Lソースファイル
| L test.c
|  L test.cpp 
Lヘッダーファイル
Lリソースファイル

という感じになっていて…
test.cには上で紹介したやつを書いていて
test.cppには

#include <stdio.h>

int main(void)
{
int no;

printf("整数を入力してください。:"); 整数を入力してください:37
scanf("%d", &no);                あなたは37と入力しましたね。 

printf("あなたは%dと入力しましたね。\n", no);

return 0;
}

というソースをかきます。
そして、test.cをコンパイルするときちんとできるものの、
test.cppをコンパイルすると上記のようなエラーがでるのですが…
分かりましたでしょうか??

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 13:55
by シエル
toyoさんがおっしゃってることをもう一度よみ直してください。
main関数についての注意がありますよね?

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 14:40
by softya
学習法としては、ただ打ち込むだけじゃなくて、ちょっと変えてみる。
機能を付け加える事や表示を変えてみるや変数の型を変えるとどうなるかなど試してみるってことが大事ですよ。

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 15:08
by レン
わかりました。すいませんでした

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 21:32
by レン
すいませんが、もうひとつ質問させてもらいます><
あの…ひとつのプロジェクトには関数がひとつということは分かりました。
ですが、MicrosoftVisualC++2008を使っていて、一つ目のプロジェクトで一つソースを書き動かしたとします。そして、二つ目のプロジェクトを作って、そこにソースを書き動かすと、なぜか、一つ目のソース結果が出てくるのですが、なぜでしょうか??

分かる方いらしたらお教えくださいm__m

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 22:25
by Poco
> あの…ひとつのプロジェクトには関数がひとつということは分かりました。

関数はいくつでも定義できます。
名前が被ったら駄目なだけです。

> ですが、MicrosoftVisualC++2008を使っていて、一つ目のプロジェクトで一つソースを書き動かしたとします。そして、二つ目のプロジェクトを作って、そこにソースを書き動かすと、なぜか、一つ目のソース結果が出てくるのですが、なぜでしょうか??
>
> 分かる方いらしたらお教えくださいm__m

ソリューション全体で、太字となっているプロジェクトが実行されます。
変更するには、動作させたいプロジェクトを右クリック-「スタートアッププロげクトに設定」を
選択してください。
#スタートアッププロジェクトが太字になっていると言ったほうが良いかな。

Re:最近、C言語を学び始めたのですが・・・

Posted: 2010年7月21日(水) 22:49
by レン
なるほど!!
ありがとうございます。また分からないことおねがいします。