• ベストアンサー

C言語の種類

C言語とかC++とかC#とか色々と種類がありますが、何が違うのでしょうか。あと、自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうかまた、C言語におけるポインタの役割はメモリの節約という認識でよいですか? また、別件ですが、Javaという言語は何が出来るのでしょうか。 web系の言語なのですかね。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.4

追記: 私の場合ですが 「Cの種類」といわれて、C++やC#等は思い浮びません。 C言語が生れてから今まで、何度も変更されてきています。ある時期からは「国際規格」となっており、その規格も変更されてきています。 また、コンパイラの製作者(制作社)の意向や、発表時期で、どの規格にどれくらい準拠しているか、とか、独自拡張の有無等があります。 「Cの種類」と言われると、そのような規格(C89,C99とか)や、コンパイラ(GCC,Visual Cとか)を思い浮べます。 「Cの類」とか「Cの仲間」とか言われて、やっとC++やObjective-Cが加わる感じです。 C#はあくまで「C#」ですね。

その他の回答 (3)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

C++はCにオブジェクト指向を導入して生まれた言語です。 当初はCの上位互換(CのプログラムはそのままC++でも動作する)だったのですが、その後C,C++ともに独自の規格変更を行ったため、現在では一部互換性が失われています。 とは言え、他の言語と比べると、共通する点が多いです。 C#はCと付いてますが、Cとの互換性はほとんどありません。 Javaに近いですが、Javaとも互換性はありません。 文法の似た独自言語と考えた方がよいでしょう。 > 自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうか そんなものは、あなたにしかわかりません。 あなたが、どの言語用のプログラムを作成して、どの言語用のコンパイラを使うか、です。 一応、IDE(Visual Studio等の開発環境)等では、拡張子で判別することもあります (.cならC,.cppならC++,.csならC#など) が、拡張子と実際の使用言語が一致しているとは限りません。 >C言語におけるポインタの役割はメモリの節約という認識でよいですか? まったく違います。 ポインタはC/C++を理解する上で、非常に重要なものです。挫折する人の多くが、ポインタを理解できなかったことがその理由となっています。 変な先入観は捨ててください。 > Javaという言語は何が出来るのでしょうか。 コンピュータでできることなら、なんでもできます。 (速度やメモリ等の制約、得手不得手はありますが) Webアプリも作れるし、Webと関係無いアプリも作れるので、「Javaを使っていることと、Webアプリかどうかとは、無関係」です。

  • asuncion
  • ベストアンサー率33% (2126/6286)
回答No.2

JavaとWebは無関係である、という回答には少し語弊があります。 Javaを使ってWebアプリケーションを開発することはできます。そうですよね?

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

C++はCの拡張バージョンでCのプログラムがそのまま動かせることが多いです C#はマイクロソフトが勝手にCの名前を付けて普及を図ろうとしただけでC/C++とはまったく関係ないです。言語的にはJavaに近くJavaに対抗するために開発したものでしょう。 >自分がどの種類のCを使ってるかはどうやったら確認できるのでしょうか これは意味がわかりません 普通は自分が使う言語を決めてからそれにあったコンパイラ等を使用します >C言語におけるポインタの役割はメモリの節約という認識でよいですか? よくないです JavaとWebは関係ないです Webに関係あるのはJavascriptといってJavaとは関係ありません(JSPといってサーバーサイドで動くものはあります) docomoなどの携帯アプリがJavaでつくられています

関連するQ&A

  • C言語でのプログラミングについて

    C言語でのプログラミングについて これまでJavaでよくプログラミングをしてきたのですが、最近Cもよく使っています。 しかしJavaに慣れすぎたのか、Cで大きなプログラムを作ろうとすると、どうすればいいのかよく分かりません。 HeaderファイルはJavaでいうと継承みたいなもので、複数のファイルに同じ機能を持たすときに使うのでしょうか? Javaではクラスがありそれぞれに役割がありますが、Cの場合はファイルごとに大まかな役割を分けるのでしょうか? (例えばユーザーからインプットを取ってくるファイルをgetInput.cで、それを処理するファイルをvefiryInput.cというようにするのでしょうか?) C言語でのプログラミングの仕方を教えてください。

  • C++言語のポインタについて

    現在、C++言語を学習しているのですが、 ポインタを使わない、 int main() { Human human; human.Introduction(); } と、ポインタを使った、 int main() { Human *p; p = new Human; p->Introduction(); delete p; } があります。どちらも同じ動作をしますが、ポインタを使ったものがよく使われているのは、 メモリの節約?動作速度?のためなのでしょうか? なぜ使われるのか教えてください。

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

    私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。 5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。 私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解できて、やっと自分の役に立つという思考しかできないものです。いきなり高級言語のJavaやらC#やら.NETやらやっても、うわべだけさすってるようで、根本的な理解を得られないので(コンピュータに対する)、無駄だなあとどうしても感じてしまうのです。また、それよりも基礎からしっかり積み重ねた方が後々、新しい言語ができても理解の度合いというかどっしりと理解できるとおもうのです。 しかし、就職のことを考え、PHPやらC#やらJavaやらVB.NETやらを優先してきてどれもどっちつかずになってしまいました。当然Cなども合間をぬってやっていました。 で、私は、そのどっちつかずな状態がいやなので、CとC++に絞って勉強することにしました。で、低級コンパイラの中身やアセンブラも勉強していこうと決心しました。しかし、就職のことを考えると不安です。 あと、1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?自分としては、働ける限り年齢がいくつになってもがんばりたいとおもうのですが、なにしろ世間的にいうと全く遅い年齢です。もし、励ましになるような事もありましたら、ご回答していただければ、うれしいです。よろしくお願いします。

  • C言語・Java言語 開発の上での違い

    C言語とJavaどちらを学ぼうか、悩んでいます。 会社で学ぶのですが、どちらを希望するかをこたえなければいけないのですが、 まだ2つのメリット・デメリットが分かっておらず。 希望しようにも・・・という状況です。 双方の良さと違いについて、わかりやすく教えていただけないでしょうか。 違いについては今まで見た中ではイメージがつきづらく困っています。 Cは組み込み系、JavaはWeb系だと認識しているのですが、開発するという姿勢ではその二つの違いもよくわかりません。 今から言語を学ぶとして、どちらが有望なのかも気になります。

  • C言語の標準関数リファレンス

    C言語の勉強を始めたのですが、C言語はweb上に標準関数リファレンスはないのでしょうか? あると便利なのですが、自分で探しても見当たりませんでした。 javaのjavadocとか.netのMSDNみたいなリファレンスがあったら教えてください。 よろしくお願いします。

  • c言語

    ポインタではない型名 変数名=(void *) 0; 上記コードですべての処理系で、変数の中身がすべてビット0であるということはc言語規格で保証されていないという認識は正しいですか?

  • C言語(またはC++言語)についての質問です。

    C言語(またはC++言語)において、以下の変数x、ポインタ変数(*p,**pp, ***ppp)のメモリ上のイメージを記述しなさい。 int x, *p, **pp, ***ppp; x=10; p=&x; pp=&p; pppp=&pp; という問題なのですが、わからなくて困っています。 このプログラムはどのようなものなのでしょうか。 詳しい回答をよろしくお願いします。

  • C言語に関することについて教えてください

    学校の問題集にでてきた問題がわかりません、どうか教えてください 1 プログラムの役割、必要性について説明せよ 2 プログラムにおける変数と定数の役割を説明せよ。また、ローカル変数の有効な範囲について説明せよ。 3 C言語で使う変数が他について、宣言子と、printf関数、scanf関数それぞれにおいて対応する書式指定子を対応表にせよ。また、変数名を決める際に守るべき文法上の規則と、プログラマとして配慮すべき事項を説明せよ。 4 配列について、その役割と定義方法を説明せよ。 5 コンピュータにおける文字処理に必須なアスキーコードについて説明せよ。 6 C言語における文字列について、文字列定数、文字列変数を説明せよ。 7 C言語における繰り返し処理の文法(for,while,do~while)を、プログラムコード列を示して説明せよ。 8 C言語における条件判断の文法(if,else,else if)を、プログラム列を示して説明せよ。 9 繰り返し、条件判断において利用する論理式(等値演算子、関係演算子、論理演算子等で記迷する式)について、その記迷の方法を論理和、論理積も含めて説明せよ。 10 変数のアドレスについて説明せよ。また、ポインタについて、アドレスとの関連性を踏まえて、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 11 ポインタと配列の関係について、ポインタによる配列操作を列に説明せよ。 12 関数について、その役割と定義方法について説明せよ(戻りがた、関数名、引数リスト)。また、自作関数をそれらを利用するmain関数のプログラムコード例を示せ。 13 scanf関数の戻り値について、その内容を説明して、どのような際に利用すると便利か、プログラムコード例を示して説明せよ。 14 引数にポインタを利用する関数のプログラムコード例を示して、ポインタの必要性、重要性を説明せよ。 15 構造体について、その役割と定義方法を説明し、具体的な使い方のプログラムコード例を示せ。 16 ファイルポインタについて説明し、ファイル入出力の方法についてプログラムコード例を示して説明せよ。

  • C言語について

     プログラミング言語について質問があります。今、C言語を練習中ですが、C言語に関する本を見ると、大体、(入門者用の教科書しか知らないのですが)ファイル操作とか、構造体とかの説明とかで、終わっています。それで、自分はWindowsでグラフィック操作(例:動画とかを扱う)とかの、プログラムを組みたいのですが、C言語でそれができるのでしょうか。それともC++言語とか、Javaとか他の言語を習得しなければいけないのでしょうか。また、欲張りますが、C言語でグラフィック操作ができるのなら、どんな本を読めばいいのでしょうか。解らなかったので、投稿しました。よろしければ、回答宜しくお願いします。

  • c言語の達成度について

    今年の4月に情報系の学校を卒業し、プログラマーとして就職することになりました。 そこで、C言語の復習をしていて今のところは、「やさしいC」を勉強し終わって、「c言語ポインタ完全制覇」をしているのですが、他にもc言語の問題集を解いたり、アルゴリズムの勉強もしたいと思っています。 ただ、C言語だけではなく、JAVAやSQLなどの言語も勉強したいと思っています。C言語を完全にマスターするのはだいぶ時間がかかると思うのですが、IT系の会社に就職する前にどの程度C言語を勉強していたらいいのでしょうか。 又、「JAVA」や「SQL」などの他の言語は、どの程度勉強していたらいいのでしょうか?

専門家に質問してみよう