■画面に表示するプログラム (pg.c) 
#include<stdio.h>
int main(){ 
 printf("こんちくは\n");
}

実行結果は以下です。コンパイルして、pgという実行ファイルを作ります。
c:\work>gcc -o pg pg.c
c:\work>pg
こんちくは

順に解説します。
#include<stdio.h> // 標準入出力の関数が定義されたファイルを読み込む
int main(){ //引数が無い(=値を渡さない)関数main関数。
 printf("こんちくは\n"); //「こんちくは」と表示。文字列は""で囲う
}

2行目のintは、戻り値の変数の値の型です。この場合はint(整数)です。

じゃあ、戻り値が無いのにこんなふうにかくの?

→以下で試してみましょう。
main(void){  ⇒エラー
int main(void){  ⇒正常動作
void main(void){  ⇒正常動作
int main(){  ⇒正常動作
void main(){   ⇒正常動作

次に、戻り値の returnを試してみましょう。
returnは、main関数を修了するという意味です。このとき、int mainとして戻り値の型を整数に宣言しています。return 0は、戻り値として0をセットしています。この戻り値ですが、他の関数からこの関数を呼んだ場合、呼び元の関数に戻り値を渡します。 
#include<stdio.h>
int main(){ 
 printf("こんちくは\n");
 returun 0;
}

①returnなし ⇒正常動作
②return;  ⇒voidで宣言すれば、正常動作。intで宣言した場合は、エラー
③return 0; ⇒正常動作。ただし、voidではなく、int mainで開始した場合にのみ。intでは戻値の型を指定しているので、当然といえばそうである。 
④returun19; ⇒正常動作。ただし、voidではなく、int mainで開始