会社の新入社員研修では、C言語よりもJavaが重要視されていたり、そもそもC言語自体が古いイメージがあると思いますが、
Linuxのデバイスドライバやカーネルのプログラムは、C言語で書かれています。
なので、仕事の需要として無くなることはまずありません。
組み込みの仕事をやりたいと思っている方は、C言語が必須になります。
ここでは、C言語の始め方や基本構造、プログラムのコンパイルや実行までを解説していきます。
1.C言語の作業環境
C言語を始めるにあたっての作業環境は、
C言語プログラムを実行ファイルにするためのコンパイラが必要になります。
コンパイラは、Linuxを使用すれば無料でインストールできますし、WindowsでもCygwinをインストールすればできます。
ここでは、LinuxのUbuntu18.04を使用します。
プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車
Linux勉強用の中古パソコンおすすめショップランキング - 水瓶座列車
を参考にしてみてください。
端末からコンパイラであるgccコマンドがインストールされているかは、下記を実行します。
$ gcc -v
インストールされていれば、以下のような感じ、コンパイラ(GCC)のバージョンが表示されます。
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
と入力してリターンキーを押すとプログラムが実行されて結果が出力されます。
結果は、こんな感じ。
6.最後に
C言語は、様々なプログラム言語の中でも理解しやすい方だと私は思います。
ただ、他の言語ではライブラリ化されている処理などがなかったりして面倒な部分もありますが、プログラムを初めて勉強する方には、C言語から始めると良いと思います。
<関連・おすすめ記事>
Linux勉強用の中古パソコンおすすめショップランキング - 水瓶座列車
プログラミングを独学で勉強するためのLinuxパソコン準備手順 - 水瓶座列車
C言語の繰り返し構文( while, do while, for )の解説と応用 - 水瓶座列車
Sambaサーバーの設定手順(Ubuntu18.04)とWindowsからのアクセス方法 - 水瓶座列車
SSHの設定手順(Ubuntu18.04)とWindowsからのアクセス確認手順 - 水瓶座列車
ピボット機能(90度回転)があるパソコンディスプレイのおすすめランキングベスト5 - 水瓶座列車