C言語入門1 (文字列表示)

C言語を始める方を対象に解説記事を書きます。環境はLinuxを想定していますが、MacOSのターミナルでもほぼ同様のことができると思います。

 C言語で最小のプログラムを書いて実行する流れは次のとおりです。
  • エディタでプログラムを記述する
  • コンパイルする
  • 実行する 
エディタは、プログラムを入力/編集するためのツールです。Linuxだとvi系(vimなど)とEmacs系を使っている人が多いと思います。コンパイルとは、テキスト(人が書いた、文字として見えるプログラム)を実行可能な形式(バイナリとも呼ばれます)に変換することを意味します。

バイナリ形式は、(コンピュータにとって意味のある)数値の羅列ですが、人間にとっては非常に内容の認識が困難です。コンパイルされる前のテキストのプログラムをソースコード(または、ソース)ということもあります。ソースは、英語の起源を意味するsourceをそのまま日本語として使用しています。

エディタでプログラムを記述

次のソースコードを作成し、my_first.cという名前で保存してください
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
        printf("Hello, World!\n");
        return EXIT_SUCCESS;
}

コンパイル

次のコマンドを実行してください。
$ gcc my_prog1.c -o my_prog1
エラーが表示されなければOKです。

実行

次のように実行してみてください。
$ ./my_prog1 
Hello, World!

解説

ソースコードの内容を見ていきましょう。 冒頭の2行に#includeから始まる文があります。 プログラムの中で使用する機能によって、このような#include文を適宜記載します。 このプログラムの場合、stdio.hの行は、後述するprintf()という機能を使用する際に必要で、 stdlib.hの行は、EXIT_SUCCESSという値を使う際に必要です。

次にint main(void)という行と中括弧{}で囲まれた範囲(だいぶ後で説明しますが関数と呼ばれます)があります。C言語では、このmain関数から実行が開始されます。逆に言えば、main関数がなければ、コンパイルがエラーになります。

関数の最初にprintf()という文があります。これは、文字列を画面に出力する命令です。この中に"Hello, World!\n"と書いたので、それが画面に出力されました。最後の\nは、「改行」を行う特殊な文字列です。また、C言語では、(#からはじまる行と関数の宣言を除いて)文の最後には; (セミコロン)が必要です。

最後のreturn EXIT_SUCCESS文は、このプログラムが正常に終了したことをシステムに通知するための行です。とりえあずは、決まり文句と考えておいてもよいでしょう。


次回

C言語入門2 (キー入力)

0 件のコメント: