水瓶座列車

どこまで行けるか、とりあえず発車します。

C言語の始め方と基本構造、コンパイルから実行までを解説

f:id:aquarius999:20190320213542p:plain

 

 

会社の新入社員研修では、C言語よりもJavaが重要視されていたり、

そもそもC言語自体が古いイメージがあると思いますが、

Linuxデバイスドライバカーネルのプログラムは、C言語で書かれています。

なので、仕事の需要として無くなることはまずありません。 

組み込みの仕事をやりたいと思っている方は、C言語が必須になります。 

ここでは、C言語の始め方や基本構造、プログラムのコンパイルや実行までを解説していきます。

 

 

 

 

 

  1.C言語の作業環境

 

C言語を始めるにあたっての作業環境は、

C言語プログラムを実行ファイルにするためのコンパイラが必要になります。

コンパイラは、Linuxを使用すれば無料でインストールできますし、

WindowsでもCygwinをインストールすればできます。

ここでは、LinuxのUbuntu18.04を使用します。

Linuxパソコン環境の整え方やコンパイラの入手などは、

プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車

を参考にしてみてください。

 

端末からコンパイラであるgccコマンドがインストールされているかは、下記を実行します。

$ gcc -v

インストールされていれば、以下のような感じ、コンパイラ(GCC)のバージョンが表示されます。

f:id:aquarius999:20190320213621p:plain

 

  2.C言語プログラムの始め方

 

プログラムは、Ubuntuの端末からviエディタを使って書きます。

viエディタが苦手な方は、Windows上からSambaでLinuxにアクセスして、

Windowsのエディタ(秀丸など)を使っても良いです。自分の好きなエディタを使用してください。

ここでは、viエディタを使用して説明していきます。

 

まず、C言語のプログラムファイルを作成します。

$ vi test.c

 

作成は、viコマンドの後に新規ファイル名を入れて実行します。

C言語のファイル名は、test.c など拡張子に「.c」を付けます。

実行後、そのファイルが開いた状態になって、その状態から文字を入力していきます。

 

文字入力は、iを押すと挿入モードになって、入力することができます。

viエディタの使用方法は、 

私がviエディタを好きになった理由とその使い方 - 水瓶座列車

 を参照してください。

 

  3.C言語の基本構造

 

C言語の基本構造は、こんな感じです。

#include <stdio.h>

void main(){

   printf("testファイルです。\n");

}

1行目は、5行目のprintf()関数を使用するために、stdio.hをインクルードしています。

3行目は、C言語のプログラムが最初に始まるmain()関数です。

5行目は、文字列「testファイルです。」を表示するためにprintf()関数を使用します。

¥nは、改行を表します。 \nでも同じ意味になります。

 

そして書いたプログラムを保存するには、

Escキーを押して :(コロン)キーを押すと左下に入力が移るので、

続けてwq を入力してリターンキーを押すと行います。

 

  4.コンパイル手順

 

先ほど保存したプログラムを実行できるように、コンパイルを行います。

$ gcc test.c

 

コンパイルが完了して、a.outという実行ファイルが生成されます。

これでコンパイルが完了です。

しかし、このコンパイルだと実行ファイル名が常にa.outになるので、

他のプログラムをコンパイルしたときに上書きされてしまいます。

 

そこで、

$ gcc -o test test.c

のようにgccコマンドのオプション -o で名前を指定することでa.outではなく、

testという名前で実行ファイルが生成されます。

 

  5.実行手順

 

実行手順は、簡単です。

$ ./a.out

もしくは、

$ ./test

と入力してリターンキーを押すとプログラムが実行されて結果が出力されます。

 

結果は、こんな感じ。

f:id:aquarius999:20190320215340p:plain

 

  6.最後に

 

C言語は、様々なプログラム言語の中でも理解しやすい方だと私は思います。

ただ、他の言語ではライブラリ化されている処理などがなかったりして面倒な部分もありますが、

プログラムを初めて勉強する方には、C言語から始めると良いと思います。

 

 

<関連・おすすめ記事>

プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車

C言語の演算子と優先順位の解説 - 水瓶座列車

C言語の繰り返し構文( while, do while, for )の解説と応用 - 水瓶座列車

C言語のデータ型と変数、関数について解説 - 水瓶座列車

Sambaサーバーの設定手順(Ubuntu18.04)とWindowsからのアクセス方法 - 水瓶座列車

SSHの設定手順(Ubuntu18.04)とWindowsからのアクセス確認手順 - 水瓶座列車