やはり、最初はHello Worldです。Javaだと以下のように書きましたね。
class Ex1 { public static void main(String [] args) { System.out.println("Hello"); } }
で、これをC言語で書くと以下のようになります。字数が少なくなりましたね。ちょっと2つのプログラムを見比べてみてください。
#include <stdio.h> void main() { printf("Hello\n"); }
C言語はオブジェクト指向言語ではないのでclassの定義はありません。public, privateという修飾子もありません。void main(までは同じですね。
Javaでは*1mainメソッドが最初に実行されますが、C言語も同じようにmainが最初に実行されます。このmainのことをmain関数と呼びます。Javaではクラスやメソッドを定義してプログラムを作りましたが、C言語ではmain関数をはじめ、その他の関数を定義してプログラムを作ります。
あと、Helloを画面に出力する部分System.out.printlnとprintfが違いますね。C言語の方が短くていいですね。ちなみにJavaでもprintfというメソッドが提供されています。でも授業では使わないはずですね。。。とりあえず飛ばします。
あ、そうそう。C言語のプログラムの最初の行に「#include
で、せっかくなので実行方法を書きたいところですが。。。OSによって変わるのとWindowsマシンが手元にないので参考程度に書きます。以下のリンクに開発環境の構築方法が書かれていますが、どれを選んだら。。。と思われるでしょう。このページの著者も勧められていますが、とりあえず簡単なところでBCC+CPadがいいと思います。がんばれる人はCygwinでgcc、Visual Studio C++、Eclipse CDTなど挑戦してみるといいと思います。将来的にC++とDirectXでゲーム開発を目指しているなら、Visual Studioがいいですね。
Link: タダで始めるC/C++プログラミング for Windows
で、Javaの場合は「javac Ex1.java」でコンパイル、「java Ex1」で実行できました。Windows(BCC)の場合は、CPad上ならGUIで、コマンドプロンプト上なら「bcc32 hello.c」でコンパイル、「hello.exe」で実行できるはずです。
ちょっと省略しすぎですね。。。すいません。とりあえずこのエントリーの焦点は授業でJavaの基礎を学習していて、その人が「C言語ってどんな感じなの?」という疑問を少しでも解消できればと書いています。
C言語を使う目的はさまざまだと思いますので、本格的にプログラムを作って動かして確かめるには、やはりまとまった説明がある書籍やインターネット上のリソースを利用するといいと思います。