本当に初歩的な質問で申し訳ないのですが、どうか教えてください。
これから独習でプログラミングを始めようとしている、まったくの初心者です。
それで、C言語から入りたいのですが、「始め方」が良く分かりません。リファレンス本なども何種類か見てみたのですが、どの本も、「main{}・・・から初めて・・」のように、いきなりプログラミングの説明から始まっています。
具体的な質問としましては、
1.window2000を使用しているのですが、C言語を学習するためにはC言語ベースのosを新たにインストールしなくてはいけないのか。あるいは、その方が学習しやすいのか。
2.学習する環境をつくるためには、どのようなモノ(ソフト)が必要なのか。
・・・などです。
どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

C言語についてですが・・・


C言語開発環境は色々とあります。Windows用はもちろん、
UNIX用なども色々とあります。

下に貼ったリンクは、CPadという、
無料で配布しているC言語開発環境ソフトが
あるサイトです。
これは、Windows2000上で動きます。

Java用などもありますが、あなたの場合は
C言語用のものを選ぶといいでしょう。

最初の設定が色々大変かと思いますが、一度
セットできれば、後は楽ですよ。

がんばってください。

参考URL:http://hp.vector.co.jp/authors/VA017148/
    • good
    • 0
この回答へのお礼

ありがとうございます!
さっそく参考サイトへ行ってみました。始め方なども書いてあり、とても分かりやすいものでした。
これからさっそく始めてみます!!

お礼日時:2001/10/23 23:27

jayukoさんこんにちは。



さて、お尋ねの件ですが、私も半年前、jayukoさんと同じような状況だったので、私の経験を元に回答させていただきます。

私も独習でプログラミング(C言語)を始めたのですが、
技術評論社の「C言語スタートブック」(高田美樹 著)
を使って学習しました。
この本は、基礎の基礎から書いてくれているので、問題ないと思います。

あと、実際にパソコン上で動かすために、"VisualC++"などのソフトを使いました。

実際にOSを新たにインストールしたりすることは、一切してません。

初めてプログラミングを学ばれるのなら、これで十分だと思いますよ。

がんばってくださいね!!
    • good
    • 0
この回答へのお礼

ありがとうございます!
私も頑張ります!

お礼日時:2001/10/23 23:29

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q初心者がまず始めるプログラミング言語はなにはおすすめ?

こんにちは。
プログラムについてほぼまったくの初心者です。
シューティングゲームやファミコンの頃のようなマリオ系アクションがつくりたいです。また、就職時や特技として履歴書に書ける、役に立つプログラミング言語が学びたいです。
使っているOSはXPです。
C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。
たくさんあるプログラミング言語の中から、初心者にもわかりやすくて、また、他のプログラミング言語への勉強にもなるようなプログラミング言語はあるでしょうか?
おねがいします。

Aベストアンサー

> C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。

 厳しいですね。C言語の初歩程度でへこたれているようでは「就職時や特技として履歴書に書ける、役に立つプログラミング言語」のマスターはおぼつかないでしょう。が,C言語が初心者向きでないのもまた事実です。

 私としては,初心者には Python をお奨めします:

  ‐汚いプログラムが書きにくいような文法になっており,ああも書ける,こうも書けるといった,初心者を戸惑わせる文法事項が少ない
  ‐綺麗なプログラムを書かないと気持ち悪くなるという,良い習慣が身につく
  ‐文法が比較的単純
  ‐処理系が無料で手に入る
  ‐世界的に広く使われている
  ‐オブジェクト指向もできる

 その後で,JavaScript に進んでみてはいかがでしょうか。毛色の異なるいろいろな言語に慣れておく必要があり,将来,Java, C#, C, C++ などの言語に進むためにも。

 また,視野を広げるために Scheme, Common Lisp や ML, OCaml, Haskell, Erlang など関数言語のたぐいや,Perl や Ruby, sed, Awk などのスクリプト言語の本にも目を通されることをお勧めします(いずれも世界的に有名で,処理系が無料で手に入ります)。

 それから Java や C# などに取り組めば良いと思います。そして,C や C++ も勉強しておく必要があります。

 私自身は,仕事の都合でCOBOLとアセンブラを先に勉強し,かなり後になってC言語を勉強したので,C言語のポインタのどこが難しいのか分かりませんでした(C言語のポインタは簡単です(^^;)。ただし,アセンブラは余力があるときに限り取り組めばよいでしょう(でも,CASL関連の本には目を通しておくべき)。

> C言語というものの初歩の初歩を本で学んだんですが、とても難しく感じ、途中で挫折してしまいました。

 厳しいですね。C言語の初歩程度でへこたれているようでは「就職時や特技として履歴書に書ける、役に立つプログラミング言語」のマスターはおぼつかないでしょう。が,C言語が初心者向きでないのもまた事実です。

 私としては,初心者には Python をお奨めします:

  ‐汚いプログラムが書きにくいような文法になっており,ああも書ける,こうも書けるといった,初心者を戸惑わせる文法事項が少...続きを読む

Qプログラミング言語Cとプログラミング言語C++

プログラミング言語Cとプログラミング言語C++の違いって何ですか?
あと、プログラミング言語C++についていくつか質問があります。
#include <iostream>
using namespace std;
void main(){
cout << "Hello world!" << endl;
}
このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?
using namespace stdって何ですか?
あと、 cout <<"Hello world!"って何ですか?

Aベストアンサー

> プログラミング言語Cとプログラミング言語C++の違いって何ですか?

C++は、Cのほぼ全ての仕様を含み、クラス、テンプレート、例外処理など大幅に機能拡張した言語です。
細部の違いが知りたければ、下記を参照してください。
http://www.kijineko.co.jp/tech/cpp2c

> このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?

違います。
C++にもstdio.hがありますし、cstdioというヘッダもあります。

iostreamヘッダは、cin, cout, cerr, clogとそれらのワイド文字版を宣言するためのものです。
ですので、iostreamヘッダで宣言・定義される関数やクラスを使うだけでは一般的なファイルの操作はできませんし、sprintfやsscanfに相当するものもありません。
また、removeやrenameなど、ストリームとは関係のない操作も含まれていません。

> using namespace stdって何ですか?

「using指令」によって、名前空間stdの中にある名前を大域的名前空間でも使えるようにするものです。
せっかく名前空間を分けているのに、それを無効にしてしまうような機能ですから、安易にusing指令を使うのはお勧めしません。

> あと、 cout <<"Hello world!"って何ですか?

標準出力に対して、文字列"Hello, world!"を出力します。
ちなみに、endlは、改行を出力したあと、バッファにたまった内容を実際に吐き出します(フラッシュします)。単なる改行の出力ではないので要注意です。

C++の仕様は結構大きい方なので、遭遇した記述をひとつひとつ質問していたのではキリがありません。
まずは入門書を一冊読み、わからない用語等については、処理系のリファレンスを読むか、ネットで検索するなどしてください。

> プログラミング言語Cとプログラミング言語C++の違いって何ですか?

C++は、Cのほぼ全ての仕様を含み、クラス、テンプレート、例外処理など大幅に機能拡張した言語です。
細部の違いが知りたければ、下記を参照してください。
http://www.kijineko.co.jp/tech/cpp2c

> このプログラムについて質問なんですが、iostreamってプログラミング言語Cで言うstdio.hのことですか?

違います。
C++にもstdio.hがありますし、cstdioというヘッダもあります。

iostreamヘッダは、cin, cout, cerr, clogとそれらのワイド...続きを読む

Q初心者が選ぶべきプログラミング言語は?

初心者が選ぶべきプログラミング言語は?

プログラミングの勉強を始めようと思っている超初心者です。この手の質問はこちらでもかなり検索すればヒットしますが、いまいち良くわからないのであえて質問します。

私のような初心者がプログラミングをはじめるときどの言語を選んだらよいでしょうか?
重視することは「将来性があって」「有用性のある」「標準的な」言語です。
言語選びにはしたいことの明確なビジョンがないといけないと言われますよね
私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています
後々は勉強の具合により目的も変えてゆきたいと思っていますが・・・

今現在の理解では・・・
基礎はCで、ビジネスではJavaで、WebはPHP、ぐらいしか解りません。どれもプログラミングの共通点を
有していて勉強すればある程度は共通知識を身につけられることも言われてはいますが
言語選びを間違えたくないなと思いまして。

Cをすこし勉強したときいつwindowsアプリのようなウィンドウをつくれるかももわかりませんでした。
現在自分ができることといったらExcelでVBAを組んで(かなり低レベルですが)自動化させる程度です。


ビジネスの世界、SEなどのプログラマーの世界で今注目されている言語や花形言語など、現在業界のオーバービューも知りたいです、詳しい方どうぞよろしくお願いします。

※個人的にはRubyが面白そうで、いろんなことができそうだなと思っています。

初心者が選ぶべきプログラミング言語は?

プログラミングの勉強を始めようと思っている超初心者です。この手の質問はこちらでもかなり検索すればヒットしますが、いまいち良くわからないのであえて質問します。

私のような初心者がプログラミングをはじめるときどの言語を選んだらよいでしょうか?
重視することは「将来性があって」「有用性のある」「標準的な」言語です。
言語選びにはしたいことの明確なビジョンがないといけないと言われますよね
私の目的はwindowsのフリーソフトのようなツールを作りたい...続きを読む

Aベストアンサー

私は10数年Windows用のクライアントソフトを開発していますが・・・

>重視することは「将来性があって」「有用性のある」「標準的な」言語です。



>私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています

が、合致しません。

WindowsというクライアントPC 用のアプリ開発自体が、「将来性がなく」「標準的でない」方向にあると思います。エンジニアの求人情報を調べればわかります。


それから、身につけたい技術の選び方として、「言語」はあまり意味がないです。
C言語をマスターしたからといって、WindowsやiPhoneで思い通りにソフト開発ができるわけじゃないです。

なので、最初は「どのプラットフォームの開発を身につけたいか」を決めた方が適切なアドバイスがもらえると思います。

Windows?iPhone?Webアプリ? SaaS系?などなど

プラットフォームが決まれば、今習得すべき言語は(本人の希望によらず)勝手に決まってしまいます。AndoroidならJavaとか。

「将来性」はともかく、Windowsアプリを作りたいのであれば、.NET Framework で VBでもC#でもお好きな方を使って開発するのが一般的ですが、それでもハード性能を100%使い切るばりばりの3Dゲームソフトを作りたいなら Win32API & C++ & DirectXでどうぞ、という感じです。その前にWindowsで3Dゲームを作ること自体が今となっては疑問です。XBOX + XNAの方がいいかもしれません。
将来性をもってゲームを作りたいなら、AndroidやiPhone で OpenGLアプリを勧めたいですね。

という感じで、言語を選ぶこととプラットフォームを選ぶことは別で、多くの場合プラットフォームが決まれば最適な言語をマスターするしかないということです。

私は10数年Windows用のクライアントソフトを開発していますが・・・

>重視することは「将来性があって」「有用性のある」「標準的な」言語です。



>私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています

が、合致しません。

WindowsというクライアントPC 用のアプリ開発自体が、「将来性がなく」「標準的でない」方向にあると思います。エンジニアの求人情報を調べればわかります。


それから、身につけたい技術の選び方として、「言語」はあまり意味がないです。
C言語を...続きを読む

Q[C言語] main() の後ろ "{"の場所は?

こんにちは。

C言語のおなじみのプログラムですが、下記2パターンの書き方というか考え方があるんだと思います。

そして、どちらを選ぶかで、いろんなところへ影響することが考えられます。

基本は、どちらなんでしょう?

■パターン1
int main() {
printf("Hello World!\n");
return 0;
}

■パターン2
int main()
{
printf("Hello World!\n");
return 0;
}

たった"}"だけの場所のことですが、皆さんの考え方を伺いたくてスレを立てました。

持論でももちろん結構ですので、よろしくお願いいたします。

Aベストアンサー

私は1で書いていましたね。古い話ですが。短い時は1行にってこともよくやっていました。でもK&Rは2だと言っていますね。もちろんどっちでもいいんでしょうけど。K&Rのあとでは、ANCIのCではこう書くんだ、という声を聞いたものでしたがWikipediaでは触れられていませんね。

http://ja.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB

Q僕は高校生なんですがプログラミング言語を将来のために学びたいと思っています。まだ初心者なので調べた結

僕は高校生なんですがプログラミング言語を将来のために学びたいと思っています。まだ初心者なので調べた結果RubyかPythonのどちらかにしようと思うのですがどちらがいいでしょうか?
なるべく多くの意見を参考にしたいです。

Aベストアンサー

入門書とか入門サイトとか少し読んでみて、直感的に「なんとかなりそう」と思った方。
悩んでないで、直感を信じてとにかく始めることです。


プログラムは大きく
・やろうとしていることをどうやって実現するか?
・それをプログラミング言語でどうやって記述するか?
の2つの要素があります。

前者の「やり方」は、言語によろ違いが少ないので、一度身に付くと、言語が変わっても応用が効きます。
後者の「書き方」は(多少似たところはあるものの)言語毎に違うので、「やり方」程は応用が効きません。

「最初の言語」はどうしても「やり方」「書き方」の両方を学習しなければなりません。
ですが、次からは「書き方」中心の学習になるので、「最初の言語」ほどは苦労しないはずです。


なので、とにかく早く始めて、「やり方」を身に付けていきましょう。
直感がはずれて、「この言語は無理」と感じたとしても、「次の言語」へは1から始めるよりははるかに楽になっているはずです。

QC言語 int main(void) main()

C言語のmain関数について、質問させていただきます。

私の手元に、林 晴比古さんが執筆された著書、
2007年度版の新C言語入門 スーパービギナー編 (C言語実用マスターシリーズ) [単行本]
http://www.amazon.co.jp/gp/product/4797325631/ref=oh_details_o04_s00_i00?ie=UTF8&psc=1
があります。

これと同一の2000年度版の著書、
http://www.amazon.co.jp/%E6%96%B0C%E8%A8%80%E8%AA%9E%E5%85%A5%E9%96%80-%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E7%B7%A8-C%E8%A8%80%E8%AA%9E%E5%AE%9F%E7%94%A8%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9E%97-%E6%99%B4%E6%AF%94%E5%8F%A4/dp/4797306718/ref=sr_1_cc_1?s=aps&ie=UTF8&qid=1383091260&sr=1-1-catcorr&keywords=%E6%96%B0C%E8%A8%80%E8%AA%9E%E5%85%A5%E9%96%80+%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E7%B7%A8
も、所持しています。

main関数の書き方が、2007年度版の新しい方では、
int main(void)
{
}
と記載されており、
2000年度版の古い方では
main()
{
}
と記載されています。

改訂版なので両者を同じページで内容や例題を照らし合わせても、この部分が変わっていることを確認できます。
つまり、2007年度版では、2000年度版では書かかなくてよかった「void」を、一新して記載するようになっています。

ここで質問ですが、両方のやり方で、コンパイルすると両方ともエラーなくきちんと表示されます。しかしこれはどのような理由で変更されたのでしょうか?

詳しい方がいましたら、ご回答よろしくお願い申し上げます。

C言語のmain関数について、質問させていただきます。

私の手元に、林 晴比古さんが執筆された著書、
2007年度版の新C言語入門 スーパービギナー編 (C言語実用マスターシリーズ) [単行本]
http://www.amazon.co.jp/gp/product/4797325631/ref=oh_details_o04_s00_i00?ie=UTF8&psc=1
があります。

これと同一の2000年度版の著書、
http://www.amazon.co.jp/%E6%96%B0C%E8%A8%80%E8%AA%9E%E5%85%A5%E9%96%80-%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E7%B7%A8-C%E8%A8%80%E8%AA%...続きを読む

Aベストアンサー

本当に「詳しい人」に聞きたいなら, こんなところに質問するのではなく出版社に問い合わせるべきではないかな. 著者自身がここを見てるかどうかわからないし, よしんば見て回答していたとしてもそれが本当に「著者の回答」なのか, 判断のしようもないでしょ?

まず 1つ考えられるのが「お行儀」. 引数リストの void は「今の場合は」書かなくてもいい (書いてあるかどうかで意味の変わる場面は存在する) し, 返り値の型も「省略されていれば int」と推定するので書かなくてもいい. でも, いろいろ考えた結果「引数がないときには void と書く」とか「返り値の型は int であっても書く」とかしたんじゃないかな.... 手元にその本は (どっちの版も) ないので確認できないんだけど, 前の版で main の中に return 文はありますか?

もう 1つ, 返り値の型を書くようになった理由としては C++ の絡みも考えられます.

まあ今から勉強するならどちらも書かない理由はないわけですが.

QC言語でプログラミングできるソフト(初心者)

大学1年で今年から始めてプログラミング(C言語)を学ぶものです。
今のところif文やfor文、関数などの基本をかじった程度なのですが
なんとか自分の家のパソコンでプログラミングを行いたいので、
何か良いソフトのようなものはないでしょうか?(有料でも構いません)

実際に文などが書けて、コンパイルし、結果を出力してくれるものです。
パソコン自体がまだ初心者なので、できればで良いのですが、分りやすいものをお願いします<m(__)m>

Aベストアンサー

#4さんも書かれてますが、大学であればunixかLinuxの環境だと思います。
なので、私もcygwinをお勧めします。windows上にuinxの環境を構築できて、gccという無料のコンパイラが利用できます。
それにunixやlinuxの環境構築の良い勉強になります。

簡単な導入の仕方がありますので試してみてください。
http://www.twcu.ac.jp/~osada/comp2a/cygwin.html
こちらも参考に。
http://programnet.hp.infoseek.co.jp/coloum/colum.html

QC言語とC++ の独習

質問させていただきます。
プログラミングに興味を覚え、何もわからずC言語の本をもとに独習している初心者です。ここ3週間で文字出力、変数、演算子、条件文などをこつこつとやっておりますが、なかなか時間がとれず遅々たるペースです。
しかし気の早い私は自分で自分の仕事環境にあった管理ソフトなる物を作ってみたく、VisualC++,NETのソフトを購入しました。いずれにしても独習しかない私ですがC++をやる場合、Cをマスターしてからうつる方が良いのでしょうか? 同時に頭に入れていく方法は困難でしょうか? 率直なアドバイスをいただければ…と思います。よろしくお願いいたします。

Aベストアンサー

 Cの文法は、一応、C++のサブセットの形になってはいます・・・が、実態は、別の言語のようなものです。
 この微妙な言い回しは、Cで組むときと、C++で組むときの発想の差にあります。オブジェクト指向の発想でC++でプログラムを制作すると、Cで作ったときとは似てもにつかぬものになります。Cの時の発想で、命令が増えたCという態度でC++で組んだプログラムには、ちゃんとCで組んだときの姿が残ります。
 この差は結構大きなもので、もし、「C++でプログラムを組めるようななりたい」と言うのが目標点なら、最初からC++をやっていった方が良いかもしれません。
 特に、VCや、.NETでのプログラム開発には、どっちにせよ、オブジェクト指向の発想が不可欠ですから、今からプログラムの勉強をするなら、C++から入る方がつまずきは少ないかもしれません。

 ただ、C++の入門書には、Cの文法をちゃんと知っていることが前提ですという書籍が結構多いので、Cを学んでからC++という風潮になってしまうのかもしれません。(暫く前までは、そんな本ばかりだったなぁ。)
 今ですと、C++から始める入門書が結構ありますから、書店で探してみられると良いでしょう。(その際には、対象読者がC履修者でないことを確認してくださいね。)

 Cの文法は、一応、C++のサブセットの形になってはいます・・・が、実態は、別の言語のようなものです。
 この微妙な言い回しは、Cで組むときと、C++で組むときの発想の差にあります。オブジェクト指向の発想でC++でプログラムを制作すると、Cで作ったときとは似てもにつかぬものになります。Cの時の発想で、命令が増えたCという態度でC++で組んだプログラムには、ちゃんとCで組んだときの姿が残ります。
 この差は結構大きなもので、もし、「C++でプログラムを組めるようななりたい」...続きを読む

Q初心者におススメのプログラミング言語は何ですか?

C C++ Java などの言語がありますが、中でも初心者(素人)が始めるにあたって一番おススメの言語は何ですか。

 教えてください。 よろしくお願いします。

Aベストアンサー

JavaScriptがオススメです。
理由は
1)ネット上に情報がたくさんある
2)開発環境の構築が容易
3)実行環境の構築が容易
4)実行時の動作がグラフィカルなので「達成感」がある
特に4は重要です。

必要に迫られない勉強は、やる気を継続させる事が結構難しかったりします。
コマンドプロンプト上で実行するような言語の場合、せっかく苦労してプログラムを組んでも
動作結果が地味な事が多いため、動いた事に対する感動が薄くなります。
これが積み重なると、途中で投げ出す結果につながりかねません。
その点、JavaScriptのようにダイアログを出したり色を変えたりといった
動作をさせる言語であれば、やる気の低下を抑える事が出来ます。

もっとダイナミックな動きをさせたいのであれば、
Delphi(Pascal)、C#、VBなどを使うのもいいでしょう。
どれも無料版の開発環境を配布しています。

将来プロになる事を考えているのであれば現在よく使われているPHPや
今後よく使われることになると思われるPython、Rubyなどを勉強するのもいいかもしれませんが
1つのプログラミング言語を身に付ければ他の言語に移るのは割と楽ですので
最初は勉強のしやすさを基準に選ばれると良いかと思います。

JavaScriptがオススメです。
理由は
1)ネット上に情報がたくさんある
2)開発環境の構築が容易
3)実行環境の構築が容易
4)実行時の動作がグラフィカルなので「達成感」がある
特に4は重要です。

必要に迫られない勉強は、やる気を継続させる事が結構難しかったりします。
コマンドプロンプト上で実行するような言語の場合、せっかく苦労してプログラムを組んでも
動作結果が地味な事が多いため、動いた事に対する感動が薄くなります。
これが積み重なると、途中で投げ出す結果につながりかね...続きを読む

Qint main()、void main()、void main(void)、int main(void)

今日、大学でC言語の講義の時間、先生が、

#include <stdio.h>

void main(void){

}

と宣言してプログラムを書くと教えていました。
main関数には、
main()
void main()
void main( void )
int main()
int main( void )

と、人によりいくつかの描き方があったりします。
どれが本当は正しいのでしょうか?
void mainはすべきではないとなんかの本で読んだのですが・・。

Aベストアンサー

通称C89という以前の言語規格(現行コンパイラの多くが準拠)では、下記のいずれかが正しい。
int main(int argc, char *argv[])
int main(void)

但し、最新のC言語規格(通称C99)では、
<ISO/IEC9899:1999>
or in some other implementation-defined manner.
</ISO/IEC9899:1999>
となっているので、処理系が戻り値のvoidを認めていればvoidも可。
# 組込み系などで戻り値を使わない環境もあるためでしょうか。

なので、コンパイラのマニュアルで戻り値のvoidにしていい/しろと書いてない限り、
voidは言語仕様的には正しくない。(でも動くものもある)


人気Q&Aランキング

おすすめ情報