Linuxゲリラ戦記

正直に言うと、C言語をするのが7年ぶりくらいで、すでに忘れていたのでググりながら今回のコードを書いた。

アイキャッチ

75.C言語で初めてのプログラミング

ナックス「今日はC言語で初めてコードを書いて、実行するまでをやりましょう」

デビー君「はーい」

ナックス「C言語って聞くと、なんだか凄そうに聞こえるけど、シェルスクリプトと同じく、コードは普通のテキストエディタで書けます。できればvimでコードを書いて欲しいですが、『vim苦手』って人はnanoで書いてもいいよ」

デビー君「はーい」

ナックス「というわけで、CUI環境を立ち上げて」

CUI環境を立ち上げる

ナックス「今回はmoji.cというファイル名でC言語のコードを書くことにしましょう」

$ vim moji.c

moji.cというファイル名でファイルを作成する

Vimが起動する

ナックス「iキーを押して挿入モードにしてから」

Vimを挿入モードにする

ナックス「以下のように記述してください」

#include <stdio.h>

void main()
{
	printf("あなたご飯にする?");
	printf("お風呂にする?\n");
	printf("それとも、タ・ワ・シ?");
}

C言語のコードを記述する

ナックス「こちらは、『あなたご飯にする?お風呂にする?それともタ・ワ・シ?』という文字を表示するプログラムです」

デビー君「タワシを選ぶとどうなるの?」

ナックス「『お風呂にする?』の最後にだけ\nというのがあるので、忘れずに記述してね。また\nの\はキーボードの¥キーを押せば入力できるんだけど、使用しているLinuxディストリビューションによって¥キーを押すと(実際には半角の)\のように表示されたり(実際には半角の)¥のように表示されたりします。でも、プログラムの実行には影響がないから(実際には半角の)¥nのように表示されようが(実際には半角の)\nのように表示されようが問題は無いよ」

ナックス「また、コピペ(コピー&ペースト)じゃなくて、できるだけ自分でコードを書いてね。せっかくのプログラミングの勉強だからね」

ナックス「書き写している途中で何か分からないことがあったら、このページ下部の補足を参考にしてみてください」

ナックス「書きましたか?」

デビー君「書きました!」

ナックス「では、Escキーを押してコマンドモードにしたあと、」

Vimをコマンドモードにする

ナックス「:wqと入力して」

:wq

保存とvimの終了を同時に行う

ナックス「Enterキーを押すことで、保存とVimの終了を行います」

保存とvimの終了

ナックス「これでコードの記述は完了です」

ナックス「では、引き続き今度はコンパイラ(前回インストールしたgcc)を使用して、このコードのコンパイル(機械語に変換する)を行います」

デビー君「はい」

ナックス「コンパイル、と聞くと難しそうですが、実はgccコマンドで出来ます。以下のようにコマンドを打ってください」

$ gcc moji.c -o moji

Cコードのコンパイル

Cコードのコンパイルの終了

ナックス「エラーが出なければ、記述したコードに問題がなかったということです。コンパイルした時に、エラーっぽいやつが出た場合は、コードの記述をどこか間違えています。泣きながら自分が書いたコードを見なおしてみてね」

ナックス「実行後に、lsコマンドを使用してみてください。moji.cを機械語に変換したあとのファイル(実行可能ファイル)、mojiが作成されています」

$ ls
moji moji.c

mojiが出来てる

ナックス「これは、gccコマンド使用時に、-oオプションで、コンパイル後のファイル名を指定したからです。なので、例えば」

$ gcc moji.c -o hogehoge

ナックス「とすると、mojiではなくhogehogeが出来るし、」

$ gcc moji.c -o fugafuga

ナックス「とすると、mojiではなくfugafugaが出来ます。自分で趣味でプログラムを作成する場合は、好きな名前をつけていいのですが、基本的には作成したソースコード(今回はmoji.c)と同じ名前をつけるようです。ちなみに、-oオプションを指定しないでgccコードを使用した場合は」

$ gcc moji.c

ナックス「a.outという名前で実行可能ファイルが作成されます」

ナックス「というわけで、作成した実行可能ファイルを実行してみましょう。これも、シェルスクリプトの時と同じように、以下のように入力してEnterキーを押すことで実行できます。」

$ ./moji
あなたご飯にする?お風呂にする?
それともタ・ワ・シ? $ 

mojiを実行する

デビー君「うわ!実行すると、なんか表示が崩れている気がする!」

ナックス「いいえ。計算通りです。なんか、次にコマンドを打つ場所が中途半端なところにあって気持ちが悪い、っていう方は、何も入力せずにEnterキーを押すことで、」

$ ./moji
あなたご飯にする?お風呂にする?
それともタ・ワ・シ? $ 
$ 

ナックス「気持ち悪いのが、ちょっと治ります。というわけで次回、76.前回作ったC言語プログラムの解説!」

このエントリーをはてなブックマークに追加