初めまして。せいじと申します。よろしくお願いします。
プログラミング経験なしです。今30歳です。
遅すぎますが、これからC言語かC++言語をマスターしたいと思っています。
Windows 98 + Borland C++ Compiler 5.5
で勉強しようと思ってます。

Cの拡張されたものがC++だからC++を覚えようと思って、C++の本を買いました。
・新C++言語入門 ビギナー編 SOFTBANK Publishing 林 晴比古 著
・詳説C++             SOFTBANK Publishing 大城 正典 著
2冊ともまだ最初の方を読んで実践しただけです。

クラス、オブジェクト指向プログラミング等々が何なのか分かっていないのに、
C++をする意味があるのか、まずはCで十分ではないのか?
と思うようになってきました。

実際どうしたら良いのでしょう。
何も知らないならC++からでも良いのでしょうか。
違いが分からないならCで十分なのでしょうか。
みなさんの意見を聞かせてください。

よろしくお願いします。

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

A 回答 (10件)

seiji-h さん。

こんにちわ。
プログラミングを今後主に何の目的で使いますか?

(1)仕事でC++が必要。
 頑張っておぼえましょう。

(2)文書データの加工など。。。
 今すぐPerl言語に切り替えましょう。

(3)趣味でWindowsアプリなどの作成を目指して。。
 そのままコツコツC++を続けていってください。

(4)歯ごたえのあるプログラミング言語を。。。
 そのままコツコツC++を続けていってください。

>実際どうしたら良いのでしょう。
>何も知らないならC++からでも良いのでしょうか。
どのようなことに興味をおぼえるかで、Cから始めるべきか、C++から始めるべきか
向き不向きがあります。

★簡潔な文法をもとに、ガリガリと自分の思うままに、プログラミングしたい。
とにかく自分で動くものを作りたいということなら、Cから始めるのが向いていると思われます。
★プログラミングすることよりも、プログラミング言語「自体」に興味があって、
一種の研究の対象と考えている場合は、C++の方が、おもしろおかしく学べると思います。
    • good
    • 1
この回答へのお礼

プログラミングは趣味でやりたいと思いました。
1~4の中から選ぶとすると、メインは2のような感じです。
フリーのCGIでデータベース(CGI DE アミ~ゴ!!)をホームページに設置して
こういうのが自分で作れたらいいな、と思ったのがきっかけです。
テキストファイルのデータをPerlで処理しているCGIです。
これをテキスト+Perlではなく、本物のデータベース+CかC++で処理したいと
考えました。CやC++ならそれ以外にもその知識の使い道がいくらでもあるからです。
(Perlもあるとは思いますが)

>とにかく自分で動くものを作りたいということなら、Cから始めるのが向いていると思われます。
これに当てはまると思いますが、C++を勉強することにしました。

どうもありがとうございました。

お礼日時:2001/05/27 01:54

私もC++からの方がいいと思います。

C++はオブジェクト指向言語ですから、Cとは全く異なります。私自身は、

1)Assembler
2)Fortran(大学では、1)より先に少しかじった)
3)Pascal(ごく短期間)
4)C
5)C++

という順序で憶えましたが、4)までは、殆ど何の苦労もなくマスターできました。Cではポインタに多少てこずったくらいです。これとて、Assemblerと対応付けるとあまり問題なかったです。

しかし、C++は1)~4)とは全く違うのです。C++はCをベースにしているとは言え、似て非なるもの。恥ずかしい話だが、頭が「手続き型言語」に慣れきっていて、「オブジェクト指向」になれないのです。

ですから、歳取ってからC++に慣れるのは大変だから、頭の柔らかい内にC++に慣れた方がいいというのが、いまだにC++にてこずっている私の意見です。
    • good
    • 0
この回答へのお礼

かなりの言語を修得されてますね。他のみなさんもそうなんでしょうか!

>ですから、歳取ってからC++に慣れるのは大変だから、頭の柔らかい内にC++に慣れた方がいいというのが、いまだにC++にてこずっている私の意見です。

頭の柔らかい内に... すでに固くなっています...
もうプログラマとして始めるには遅いと思っていますが、
できる限りがんばりたいと思います。

ありがとうございました。

お礼日時:2001/05/27 02:39

何も無いところからはじめるのであれば、C++ で良いでしょう。



よく「 C の知識も必要だから」と言われますが、C++ だけ知っておけば
良いのであれば、どの部分が C++ だ、などと知らなくても良く、全部、
C++ だと思って憶えちゃいましょう。つまり、

> 何も知らないならC++からでも良いのでしょうか

「何も知らない *から* C++から *の方が* 良い」です。


あと、いわゆる「オブジェクト指向」ですが、なるべく、変な癖が
つかないうちにやっておいた方がお得です。

また、Windows ベースのプログラムを組み出すと、Cだけでも組めないこと
は無いのですが、楽に組むためには MFC などの C++ ベースのライブラリを
使う方が格段に楽です。

そういう意味で、C *だけ* を憶えれば十分、という局面は、どんどん
少なくなってきています。個人的には、「 C だけを…」と言うセリフ
自体が、古臭い考え方です。
    • good
    • 0
この回答へのお礼

>「何も知らない *から* C++から *の方が* 良い」です。

反対の意見の方もいますが、これを言っていただけると、安心できます。

>あと、いわゆる「オブジェクト指向」ですが、なるべく、変な癖が
>つかないうちにやっておいた方がお得です。

オブジェクト指向とは何か、まだ全然理解しきっていないですが、
みなさんの回答でその辺は感じました。

>そういう意味で、C *だけ* を憶えれば十分、という局面は、どんどん
>少なくなってきています。

もしCを覚えるとしてもC++は必須の知識になってきているのですね。

C++を覚えることにしたので、その中からCを学んでいこうと思います。

どうもありがとうございました。

お礼日時:2001/05/27 02:30

適応性で差が出るとは思うのですが、私が今どちらも知らなかったのだとしたら、いきなりC++から始めます。



CもC++も扱っていますが、急ぎでテストコードを書かなければならない様な時はクラス設計を検討する手間隙を考えると、ついつい手抜きをしてCに走ってしまっています。
慣れれば手間隙とも感じなくなるのでしょうが、CP/M時代からCにどっぷり浸かってしまってきたもので、どうしても過去の資産と自分の頭の中身がCになってしまうんですね...
それでも『ああ、やはりC++で書いておくべきだった』と後の祭りが多々。
    • good
    • 1
この回答へのお礼

両方知っていると得することもあれば、損することもあるんですね。

私はC++に決めました。
過去の資産がない分、C++修得には有利かもしれません。
開発もC++でCにならないように綺麗に作成したいと思います。

どうもありがとうございました。

お礼日時:2001/05/27 02:22

 オブジェクト指向プログラミングがはやりだしたMS-DOS時代に、Cを知っている人より、最初からC++を勉強したほうが早くマスターできると言われていました。



 Cを知っている人がC++をマスターするのに半年はかかると言われていました。会社で仕事に使用している人たちはもっと早く使えるようになるみたいです。

 あなたのように、これからプログラミングしようという人は、DOS上でするならともかく、Win上でするのであれば、Borland C++ Builderを購入されることをお勧めいたします。小生はProfessonal版(定価6万8千円)を購入しましたが、Delphi と JBuilderがオマケについてきました。Learning版は定価2万円です。
http://www.watch.impress.co.jp/pc/docs/article/2 …
http://www.borland.co.jp/qanda/cbuilder/

 Borland C++ Builderの参考書も沢山出版されています。最新版はVer.5ですが、参考書はまだ出版されていないようです。Ver.1の参考書も結構参考になります。サイト検索で探してください.

「入門 C++Builder4 美田幸夫著 広文社」の著者のMLがあり、結構初歩的な質問にも著者が回答しています。非常に丁寧です。下のURLがそうですが、2,3日前までは表示していましたが、25日11時現在は表示されません。
http://www.kaajapan.com/cbpbbs.html

参考URL:http://www.watch.impress.co.jp/pc/docs/article/2 …
    • good
    • 0
この回答へのお礼

C→C++は頭の切り替えが重要そうですね。
私は頭が固いので、C++からにします。

まずはテキスト通りに、DOS上で進んでいき、
最終は、Windowsのアプリケーションも作成したいと思っています。
その前にC++でCGI(データベース関連)を作成するのが夢です。

Windowsのアプリケーションを作成する時には、紹介していただいた
C++Builderの購入を考えていますが高いですね~。
Professional版を買うと思いますが、まだ先なので次期バージョンを
購入することになるかも。

どうもありがとうございました。

お礼日時:2001/05/27 02:15

私も可能ならばCから始めたほうがいくらか楽じゃないかと思います。


そして、C++に移行するときにお勧めの本がコレ
 「C++のからくり」ISBN 4-7973-0829-X

良くあるテキスト本では、あーしろこーしろと言う説明ばかりで、じゃなぜそうなの?ってフトした疑問にはなかなか答えてくれませんが、この本はその「なぜ?」の部分を説明してくれます。
私のC++バイブルです。この本でC++(というかクラス)に目覚めました。
サンプルプログラムも、最初はCオンリーで書かれていたものが章を重ねるごとにほぼ同じ機能でC++に移行していくためとてもわかりやすいです。

参考URL:http://books.softbank.co.jp/bm_detail.asp?sku=47 …
    • good
    • 0
この回答へのお礼

Cから覚えた方が楽そうだというのは分かったのですが、
私の頭が固いので、Cではこうだけど、C++ではこう。っていうのが
私には難しそうです。結局C++を勉強することに決めました。
C++からCも見えてくると思いますので、その時に、紹介していただいた
テキストを参考にしてみようと思います。

どうもありがとうございました。

お礼日時:2001/05/27 02:09

多くのひとは実際Cから入ったのでCからやったほうが良い、と


いうご意見になるようですね。
じゃあちょっと違った角度から。どうせ趣味でやるなら、
「C++っての、やってみたいな」
ならどんどんおやりになったらよろしいかと思います。

「オブジェクト指向はもっと上達してからやるものでしょ?」
などと考えていると、結局やらないで終わったりします。
C++なのに、実際はCでしかない(オブジェクト指向らしいプログラム
ではない)ものを書く人もたくさんいますし。
先にCでの書き方を知ってしまったので、かえってオブジェクト指向
の理解が難しくなってしまうようなことも。(Cならこう書けるのに
なんでわざわざ…などと思ってしまって)

だったらむしろ、最初からオブジェクト指向での考え方から
入っちゃったほうがいい場合もあるような気がするのです。

まあ、Cでもオブジェクト指向ライクに書くことは可能です。
(うまい書き方ができるひとは自然とそれに近い形になっている
ものです)
オブジェクト指向というのはプログラムの設計の仕方ですから。
C++やJavaはそれを言語としてやりやすくサポートしてくれている
だけで。

個人的には「Javaでいいのでは?」とも思いますが…。というか
プログラミングというもので遊ぶならlispなんかがいいんじゃ
ないかな、とか思ったりしますが…。

どちらにせよ、プログラミングのキモというものを掴んでしまえば、
あとは言語特有の書き方、考え方に馴れるということだけですので、
どんな言語もやればよろしいと思います。30から始めたからと
いって一生1言語しか理解できない、ときまったわけでは
ないですから。
    • good
    • 0
この回答へのお礼

>「オブジェクト指向はもっと上達してからやるものでしょ?」
>などと考えていると、結局やらないで終わったりします。

C++から始めても、この状況に陥りそうで恐いです。
まずは、購入した入門書(新装版プログラミング講義C++)を
最初から順に理解していこうと思っています。

今はC++だけマスターできればいいや、って考えですが、
ネットでいろいろ調べてみると、Javaはマスターした方が良さそうですね。
C++とJavaで趣味+仕事に役立てたいと思います。

ちなみに今の仕事はC++やJavaでの開発とは関係ないです。

どうもありがとうございました。

お礼日時:2001/05/27 02:04

私もプログラミングの経験はほとんどないのですがやはり今から始めるのなら


C++の方がお得だと思います。
一応Cの上位互換と言うことなのでCの特徴である(別にCの専売特許ではありませんが)
ポインタや構造体やメモリ管理についても一通り学べると思いますし、テキストの
書き方にもよりますが構造体の概念を学ぶとクラスの概念が理解しやすくなると思います。
(ベテランの方はC++は本当のオブジェクト指向言語じゃないとおっしゃるようですが
趣味としてプログラミングをやるのならそんなに思想的な部分にこだわる必要はないでしょう。)

テキストの選択は重要だと思います。C++のテキストの中にはCの知識を前提としている
物も少なからずあるようです。もちろんそういう本ではなく本当の初心者を対象にした本を
選ぶべきでしょう。私のお勧めは「C・C++入門」(松坂勝志他共著 森北出版)
です。1994年初版発行と少々古く、またC++のクラスについては最後の12章にしか
書かれていませんが、学生の教育で苦労している高専の先生方が書かれたものだけに
プログラマーの人が書いたものより読みやすいと思います。
    • good
    • 0
この回答へのお礼

開発経験がほとんどないそうですが、かなり私とのレベル差を感じます。

勉強しようと思ったきっかけは、趣味からです。
趣味が仕事にまで役立つようになればいいな、と甘い考えも持っています。

テキストは、紹介していただいたものが見つからなかったので、
同じく先生をしている方(柴田望洋氏)の入門書(新装版プログラミング講義C++)を購入しました。
これも分かりやすそうです。

どうもありがとうございました。

お礼日時:2001/05/27 01:45

こんにちは。

itohhといいます。

VBでもなくJavaでもなくC,C++を勉強されたいのですよね?

王道はCをマスターしてからC++だと思います。(異論はあるでしょうが...)
ただし、C++を勉強するということはCも勉強することでもあると思いますから
C++からでも良いかな?

Borland C++ Compiler 5.5 ってフリーの開発環境ですよね。
出来ないことはないのですが、Winodwを伴うプログラム(電卓とかエディタとか)を作成しようと思ったら大変だと思いますよ。
(頑張ってる人もいるのでしょうが...)
ある程度まで勉強が進んできたら製品版の購入をお勧めします。
    • good
    • 0
この回答へのお礼

VBでもなくJavaでもなくCかC++を勉強したいのです。

CをマスターしてからC++が良いことは分かってきましたが、
C++を勉強していきます。

とりあえず、フリーのコンパイラで入門書をこなしていきます。
フォームとかはまだ先のことだと考えています。
まず初歩を勉強し、将来的には製品を購入したいと思っています。

ありがとうございました。

お礼日時:2001/05/27 01:36

C++はCを「オプジェクト指向」用に拡張したものです。


よって、C++を知ると言うことはCの知識も必要になります。
Cは知らないけどC++はできるということにはなりません。

とっつきやすいのはCかも知れません。また、C++の解説本というのはCは知っているという事を前提としているのが多いですから、C++を知る前にCをサラッと勉強しておいて損はないと思います。
C++はC++が難しいというのではなく、「オプジェクト指向」を意識した設計というのが
ちょっと経験とコツがいるということです。
たとえれば、CやC++は英語の単語や文法を覚えるということです。それで、英語を書くことはできます。
オプジェクト指向という設計方法を知るのは「英語で小説を書く」という様なものです。
日本語でも英語でもそうですが、言葉を知っているだけでは「小説」は書けません。

世の中の潮流としてはオプジェクト指向が主流になってきているので、最終的にはC++を覚えた方がBetterであるとは思います。(勿論、オブジェクト指向を勉強するのなら、C++以外にもJavaやObjecttive-Cといった言語もありますが・・・・
    • good
    • 0
この回答へのお礼

オプジェクト指向とは何か理解していないのですが、
「英語で小説」の例えで、重要性は分かってきました。
まずは「オプジェクト指向」という言葉にとらわれずに
C++を勉強していこうと思います。

どうもありがとうございました。

お礼日時:2001/05/27 01:32

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Qアニオタならこれを観ろ! という7本を教えてください

こんにちは、時々ここでアニメに関する質問をさせていただいています、ier135です。
今日は皆様に「アニメオタクならこれを観ろ! という7本」を教えていただこうと思います。
劇場版、テレビ版、OVAなどは問いません。ジャンルももちろん問いませんが、“なぜ、この作品をチョイスしたのか”という個人的熱意(笑)を必ず書いてください。
あ、あと「レンタルビデオ店で見られる」(新宿ツタヤに行けば見られる、クラスでもかまいません)ことも条件かな。

なお、「流行っていたから」「DVDが売れたから」などの、外因的理由は書かないでくださるとうれしいです。
もう一つ避けていただきたいのが、「面白かったから」みたいな馬鹿でも書けるような個人的熱意です。
「面白かった」というのは、作品のストーリーならストーリーのどういうところが、人物配置なら人物配置のどのようなところにピンとキたのか、それを熱意と共に書いてくれるととっても喜びます。

Aベストアンサー

「レンタルビデオ店で見られる」
という条件なので、TSUTAYA-DISCASで借りられる作品を選んでます。
■アクメッド王子の冒険 (1926年 / ドイツ/イギリス )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0087595567
大正15年に作られた世界初の長編アニメーション!影絵だけれど「絵が動く」というシンプルにして感動的な作品。

■王と鳥 (1952・1979年 / フランス )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0081446308
1952年に公開されたフランス初の長編アニメーション映画…を監督のポール・グリモーが1967年に作品の権利とネガを買い戻し、製作資金を10年がかりで集め、改作した作品。古さを感じさせないカメラアングルとカット割りが秀逸。

■雪の女王 (1957年 / ソ連 )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=1024261715
共産党体制のソ連で制作された長編アニメ。雪と氷の描写は北国ならでは。女王の硬質な美しさは絶品。

■幻想の魔術師 カレル・ゼマン ホンジークとマジェンカ (1980年 / チェコスロバキア )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0081852758
カレル・ゼマン最後の長編。チェコの伝説を基にしている為、ストーリーはやや散漫というか冗長。しかし画面から漂う幻想的な雰囲気は必見。

■ファンタジア (1940年 / アメリカ )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0080537285
言わずと知れたディズニー不朽の名作。昭和15年(太平洋戦争より前!)制作。言葉では説明出来ない『映像美』の頂点のひとつ。

■ピンチクリフ グランプリ (1975年 / ノルウェー )
http://www.discas.net/netdvd/goodsDetailN.do?pT=0&titleID=0087920761
正統派人形アニメ。ノルウェー作品という事で敢えてランク入りさせました。

■こま撮りえいが こまねこ (2006年 / 日本 )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0087879887
「白蛇伝」とどちらを選ぼうか悩んで…こちらになりました。第一話「はじめのいっぽ」は、8ミリで自主制作を経験した人は絶対納得出来ます!

「レンタルビデオ店で見られる」
という条件なので、TSUTAYA-DISCASで借りられる作品を選んでます。
■アクメッド王子の冒険 (1926年 / ドイツ/イギリス )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0087595567
大正15年に作られた世界初の長編アニメーション!影絵だけれど「絵が動く」というシンプルにして感動的な作品。

■王と鳥 (1952・1979年 / フランス )
http://www.discas.net/netdvd/goodsDetail.do?pT=0&titleID=0081446308
1952年に公開されたフランス初の長編アニ...続きを読む

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とそれらのワイド...続きを読む

QC言語C++言語アセンブラ言語の就職先

自分は以前Javaプログラマをやってました。

あまりに、便利なライブラリばかりで、「なんかプログラムを書いているというより、ソフトウェアの振る舞いを書いているだけだ。。」とおもってしまい、すきになれませんでした。正直、苦痛でした。

今、上記言語を勉強しているのですが、コンピュータの根本からプログラムをしている実感が沸き、とても面白いです。

でも、これらの言語を習得したところでどんなところに就職できるのかさっぱりわかりませんし、需要があるのかもしりません。いわゆる組み込み系統は就職できるんでしょうが、私としてはアルゴリズムでUNIXのプログラムをシコシコ書いているような作業がすきなのです。いってみれば、私はクラシックな人間だとおもいます。

そんな僕ですが、就職先はあるのでしょうか?よろしくお願いします。

Aベストアンサー

 勉強熱心ですね。
 実際に、kamkamkam3-san の言われている、
「なんかプログラムを書いているというより、ソフトウェアの振る舞いを書いているだけだ。。」というのは的を得ています。
 
 経験からなんですが、ソフトウェア会社では、ノウハウとしてライブラリをもっています。ちょうど、Java のクラス・ライブラリーなようなものです。ですから、それらを使って製品を効率良く製品をつくれるかが重要です。実際のソフトウェア・エンジニアは、それをうまく使って効率良くコーディングすることを要求されます。

 ソフトウェア業界は、1人で閉じた製品を開発することは、まずないです。製品=プロジェクトだとすると、最低3名~100人以上が同時進行となります。そうなると、割り当てられたノルマを効率良く行うかが評価のポイントになります。つまり、「ソフトウェアの振る舞いを書いているだけ」ということにもなります。

 コンピュータ言語は、あくまでもツール(道具)です。
 kamkamkam3-san が、今後どういった分野の仕事を希望している(興味がある)かが重要だと思います。
 その答えとして、「C言語C++言語アセンブラ言語」を勉強することで実感できると思います。ですので、ぜひ、勉強を続けてください。

 勉強熱心ですね。
 実際に、kamkamkam3-san の言われている、
「なんかプログラムを書いているというより、ソフトウェアの振る舞いを書いているだけだ。。」というのは的を得ています。
 
 経験からなんですが、ソフトウェア会社では、ノウハウとしてライブラリをもっています。ちょうど、Java のクラス・ライブラリーなようなものです。ですから、それらを使って製品を効率良く製品をつくれるかが重要です。実際のソフトウェア・エンジニアは、それをうまく使って効率良くコーディングすることを要求さ...続きを読む

QTurbo C++でのC言語プログラミングの仕方がわからなくて困っています

プログラミング初心者です。

C言語の勉強用にBorlandのTurbo C++ Explorerをインストールしたのですが、ソースのコンパイルや実行の仕方がわからなくて困っています。

ご存じの方いらっしゃいましたら、教えていただけませんか?
よろしくお願いいたします!

Aベストアンサー

Turbo C++ Explorerを起動して、「ホームページ」で「新規作成」ボタンを押し、アプリケーションの種類を選択。
プロジェクトを作ってソースを書いて、メニューから実行(またはF9)
コンパイルなら、メニューから「プロジェクト」→「プロジェクトのコンパイル」を選択。

プロジェクトを作らないで、「Hello.c」のようなコードをそのまま書いた場合は、メニューの「コンパイル」や「実行」が選択できないので。
ソースを保存してコマンドプロンプトを起動して
C:\>bcc32 Hello.c
とやれば「c:\」にexeができる(C:\にソースを保存した場合)。
「bcc32 -h」でヘルプ表示。

一応、昨日から始めたばかりなのでこういうやり方しか知らないので、すみません。

QC言語やC++、VC++について

C言語やC++、VC++について
C言語やC++、VC++などはIL コードと呼ばれる中間言語が作成されるのでしょうか?それともコンパイラーがネイティブコードに変換されるのでしょうか?でもネイティブコードに変換すると機械語なので互換性がないのではないのでしょうか?それなのになぜ他のwindowsのパソコンで実行できるのはなぜなのでしょうか?そこら辺はどうなっているのでしょうか?

Aベストアンサー

ILコードをネィティブに変換するのが
.NET(ドットネット)フレームワークの仕事です。
これは、.NETをインストールすると自動的に入ります。
(というか、これがないと.NETは意味をなさない!)

厳密にはOSと.NET フレームワークは別の存在です。
しかし、最近のWinではOSインストール済みのPCでは
有無を言わさず,.NETが入ってます。

(.NETのないWin7インストール済みPCなんてありえないです)

そういう意味で、
アプリ作成者側からは
「OSがネィティブに変換してくれる」
ととらえても
大きな問題とはならないと思います。

QC言語もしくはC++言語プログラマになれますか?

私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。

5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。

私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解できて、やっと自分の役に立つという思考しかできないものです。いきなり高級言語のJavaやらC#やら.NETやらやっても、うわべだけさすってるようで、根本的な理解を得られないので(コンピュータに対する)、無駄だなあとどうしても感じてしまうのです。また、それよりも基礎からしっかり積み重ねた方が後々、新しい言語ができても理解の度合いというかどっしりと理解できるとおもうのです。

しかし、就職のことを考え、PHPやらC#やらJavaやらVB.NETやらを優先してきてどれもどっちつかずになってしまいました。当然Cなども合間をぬってやっていました。

で、私は、そのどっちつかずな状態がいやなので、CとC++に絞って勉強することにしました。で、低級コンパイラの中身やアセンブラも勉強していこうと決心しました。しかし、就職のことを考えると不安です。

あと、1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?自分としては、働ける限り年齢がいくつになってもがんばりたいとおもうのですが、なにしろ世間的にいうと全く遅い年齢です。もし、励ましになるような事もありましたら、ご回答していただければ、うれしいです。よろしくお願いします。

私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。

5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。

私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解で...続きを読む

Aベストアンサー

ゲームメーカーに勤めているものです。
Windowsを含め市販のパッケージゲームはほとんどがC/C++で作られています。
(ゲームがハードよりだとは思いません)
この業界は学歴とかは関係なく実力オンリーの世界です。
MIT卒も専門卒も同じ土俵です。うちは大手ですが中途採用で学歴を見る事はありません。
>私は零細企業くらいにしか入れないとおもっていますので(学歴がないので)、
何かコンプレックスをお持ちのようですが、逆にそういうオーラがでていると
面接で悪い印象を与えてしまうと思います。
>仕事を選らべる年齢とは思っていないので
もう少し欲を持った方が良いと思います。
40歳で新しい業界に転進しようとしている人がいたとしても
努力が伴っていれば、誰もおかしいとは思わないでしょう。

C言語というのはゲームに限らず性質的に下位層のものを作る事が多いです。
既に話が上がっているようにモジュールを作る仕事もあるわけですが
例えば圧縮や暗号化等のモジュールを作ろうとすると数学の知識も必要です。
C/C++の言語仕様に関する知識だけでは、年齢も考えると就職は厳しいかもしれません。
アセンブラは武器になると思います。アセンブラの経験者は減ってきていますが
需要はあります。
特に下位層の部品は実行速度が重要ですのでインラインアセンブラが使われている事は
よくあります。

>1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?
可能性はあります。
kamkamkam3さんがゲームに興味があるかどうかはわかりませんが、
例えばシェーダーをバリバリ使った誰もがうなる3Dゲームを作って会社に持ち込めば
ひっぱりだこになるでしょう。

ゲームメーカーに勤めているものです。
Windowsを含め市販のパッケージゲームはほとんどがC/C++で作られています。
(ゲームがハードよりだとは思いません)
この業界は学歴とかは関係なく実力オンリーの世界です。
MIT卒も専門卒も同じ土俵です。うちは大手ですが中途採用で学歴を見る事はありません。
>私は零細企業くらいにしか入れないとおもっていますので(学歴がないので)、
何かコンプレックスをお持ちのようですが、逆にそういうオーラがでていると
面接で悪い印象を与えてしまうと思います。
>仕...続きを読む

QC言語のソースをC++言語に変換したい

C言語で書かれていたソースをC++言語に変換したいのですが
どのような点に気をつければよいでしょうか

現在、プログラムの主な構造は構造体とそれを扱う関数が実装されていて、
これらをクラスを使用して書き換えようと思います。
それ以外に気にしておくものはありますか。

例えば、ヘッダファイルで<stdio.h>をインクルードしているところがありますが、
これは<cstdio>に書き換えたほうがよいかもしれない、と言われたことはあります。
printfなどはprintfのまま使用しても大丈夫ですか。
std::printfに書き換えたり、iostreamを使用する方法に書き換えたほうがいいですか。
規格としてはどのようになっているのでしょうか。
(「過去との互換性のためにあるだけであり、非推奨」とかあったりしますか。)

Aベストアンサー

まず <stdio.h> などは言われるように「非推奨」なので「最終的には変更する」ことを前提にした方がいいでしょうね (たぶん C++1y までは大丈夫だと思うけど). とはいえ, 単純に
<cstdio> を #include しててきとうに std:: を付ける
だけでもだいたいいけますが. あえて <iostream> に直す必要はないです.

まあ, ヘッダ以外は「とりあえず拡張子だけ変えてコンパイルエラーが出たら考える」という行きあたりばったりな方法でもなんとかなっちゃいますけどね.

QBorland C++ Compiler 5.5の使用制限

Borland C++ Compiler 5.5での勉強とコンパイルを予定しています。
理由はフリーで使えるからです。

ところでこのコンパイラについて質問があります。
このコンパイラでコンパイルした場合の使用制限というのはあるのでしょうか?

1.シェアウェアなどの商用利用は可能か?
2.ソースコードの公開義務などはないか?
3.その他注意点があれば教えてください。
4.Borland C++ Compiler 5.5と一緒にDLしておくと
  便利な物がありましたら教えてください。

DLしようとしたらメール登録が必要だとありましたが、
それよりも手前のページで仕様制限に関するページが
見つけられなかったので質問させていただきました。

Aベストアンサー

インストール時に展開されるライセンス条項(lisence.txt)の抜粋です。
---------------------------
■コンパイルしたプログラムと再配布可能ファイルに適用される一般条項
お客様は本ソフトウェアを使って本ソフトウェアに含まれるライブラリやソースコードを含む自分のアプリケーションを書き、コンパイル(バイトコードコンパイルも含む)することができます。このライセンス契約のすべての条件に従って、お客様は、追加的ライセンスや料金を払うことなく、本ソフトウェアを使って、お客様が作成したプログラムを、実行形式でのみ、コピー、配布することができます。
---------------------------

詳しく(全文)は一度インストールし、ライセンスを確認し、気に入らないなら使わなければいいんじゃないでしょうか。

QBorland C++ Compiler のセットアップについて

C言語を少しかじった程度の初心者です。 今日Borland C++ Compiler をインストールしたのですが、 その後の設定の仕方がよくわかりません。ディフォルトでインストールしたので、c:\borland\bcc55 となりました。
その後に3つの作業が必要で

PATHにbinのディレクトリを追加する。
binディレクトリにbcc.32.cfgファイルを作る
binディレクトリにilink32.cfgファイルを作る

とあるのですが、 最初のPATHというのは何なのかわかりません。またどうやって追加していいかもわかりません。 またcfgファイルとはなんなのでしょうか? 何もしなかったのですが、binというディレクトリは既にbcc55の中にできており、binの中にもcfgファイルかどうかはわかりませんが、bcc.32 と ilink32 というファイルがありました。

ソフトウェアの設定に不慣れな方専用の setbcc というものも試したのですが最後の設定というボタンを押すと

'PATH'の設定に失敗しました。

とエラーの表示が出てきてしまいます。
一体どうしたらいいのでしょうか?

使っているパソコンはWindows Vistaです。
説明に不足があればまた足します。どうかよろしくお願いします。

C言語を少しかじった程度の初心者です。 今日Borland C++ Compiler をインストールしたのですが、 その後の設定の仕方がよくわかりません。ディフォルトでインストールしたので、c:\borland\bcc55 となりました。
その後に3つの作業が必要で

PATHにbinのディレクトリを追加する。
binディレクトリにbcc.32.cfgファイルを作る
binディレクトリにilink32.cfgファイルを作る

とあるのですが、 最初のPATHというのは何なのかわかりません。またどうやって追加していいかもわかりません。 またcfgファイ...続きを読む

Aベストアンサー

>PATHにbinのディレクトリを追加する。
http://blog.heiichi.com/?eid=606274&target=commentform

>binディレクトリにbcc.32.cfgファイルを作る
>binディレクトリにilink32.cfgファイルを作る
これらは、GUIのコンパイラを起動し、オプションメニューから、コンパイラオプション、リンカオプションを設定すれば、勝手に作られます。

>ソフトウェアの設定に不慣れな方専用の setbcc というものも試したのですが最後の設定というボタンを押すと
>'PATH'の設定に失敗しました。
>とエラーの表示が出てきてしまいます。
Vistaの場合setbccは正常に動作しません。

Qプログラミングで質問です。言語はC++です。

いま、 While文でループし、Enterキーを

おすとループから抜けます。

そこで、上矢印キー↑を押すと

マウスカーソルがそれに応じて動くようなプログラムを

while文でループさせたいのですが

やり方がわかりません。

途中まで書いてみたのですが動きません。

詳しく教えていただけると嬉しいです。

#include <stdio.h>
#include <windows.h>
#include <Windows.h>

int main( void )
{
printf("roop in\n");

POINT po;


while(1){


po.x=0; po.y=0;
if( GetAsyncKeyState(VK_RETURN))

break;


if(GetAsyncKeyState(VK_UP)&0x8000 <0)
po.x+=7;

Sleep(500);
}
printf("roop out\n");

return 0;
}

Aベストアンサー

どこからどこまでをwhileによってループしているか、よく考えてください。
while(1)の { から Sleep(500);の後の } までですよね?ということは、毎回
・po.x=0; po.y=0;
・if( GetAsyncKeyState(VK_RETURN))break;
・if(GetAsyncKeyState(VK_UP)&0x8000 <0)po.x+=7;
・Sleep(500);
この4つの命令を実行することになります。
・毎回poが(0,0)になります。これは意図したものですか?
・GetAsyncKeyState(VK_UP)はSHORT型ですが、VC++の演算規則によって、GetAsyncKeyState(VK_UP)&0x8000 はint型になります。最近のならintは32bitだと予想されるので0x8000も0x0000も0以上です。
よって、 GetAsyncKeyState(VK_UP)&0x8000 <0 は絶対成立しません。
・po.x+=7としてますが、 xが大きくなる方向が「上」ですか?大抵は「yが小さくなる方向」が「上」になっていると思うのですが。もっとも、ここで値が変わっても、次のループでまた0の戻されてしまいますが。

あと、繰り返しはroopではなくloopです

どこからどこまでをwhileによってループしているか、よく考えてください。
while(1)の { から Sleep(500);の後の } までですよね?ということは、毎回
・po.x=0; po.y=0;
・if( GetAsyncKeyState(VK_RETURN))break;
・if(GetAsyncKeyState(VK_UP)&0x8000 <0)po.x+=7;
・Sleep(500);
この4つの命令を実行することになります。
・毎回poが(0,0)になります。これは意図したものですか?
・GetAsyncKeyState(VK_UP)はSHORT型ですが、VC++の演算規則によって、GetAsyncKeyState(VK_UP)&0x8000 はint型になります。最近の...続きを読む


人気Q&Aランキング

おすすめ情報