はじめにターミナルを起動します。次のシェル命令を入力してみてください。returnキーを押すと実行されます。(注:半角と全角の違いに気をつけてください。シェル命令は、全て半角で入力します。)
ls -a
何か表示されたでしょうか。 lsは、今いるディレクトリにあるファイルの名前を表示するコマンドです。シェル命令では、最初にコマンド名を書きます。そして、スペース区切りで引数が続きます。引数は2個以上でもよいし0個でもかまいません。「-」から始まる引数のことをオプションと呼びます。同じコマンド名から始まるシェル命令でも、オプションが違うと異なる挙動をすることがあります。-aオプションは、隠しファイルも含む全てのファイルを表示するオプションになります。気になる人は、オプションを付けた場合と付けない場合とを比較してみてください。
mkdir Sandbox
今度はこのシェル命令を実行してみましょう。Sandboxという名前のディレクトリ(フォルダ)が新たに作成されたはずです。lsで確認してみてください。
今いるディレクトリを変更するには、cdを使います。 pwdで今いるディレクトリを確認することができます。4行目の「..」は1つ上のディレクトリを指します。また、6行目や7行目にあるように、「/」を使うと今いるディレクトリからたどった先のファイルを指定することもできます。
pwd
cd Sandbox
pwd
cd ..
pwd
mkdir Sandbox/kadai0
cd Sandbox/kadai0
pwd
今度はこのシェル命令を実行してみましょう。Sandboxという名前のディレクトリ(フォルダ)が新たに作成されたはずです。lsで確認してみてください。
今いるディレクトリを変更するには、cdを使います。 pwdで今いるディレクトリを確認することができます。4行目の「..」は1つ上のディレクトリを指します。また、6行目や7行目にあるように、「/」を使うと今いるディレクトリからたどった先のファイルを指定することもできます。(事前準備 )
emacs kadai0.c
vi kadai0.c
これで、kadai0.cというファイルを編集することが可能です。いよいよ、コードを入力します。意味のわからない文字列ですが、とりあえず気にせずにこの通りタイプしてください。
#include <stdio.h>
int main(){
printf("Hello, world\n");
return(0);
}
入力が終わっても、まだファイルは保存されていません。ファイルを保存するためには、controlキーを押しながらxとsを順番に押してみましょう。ターミナルに戻ってlsするとkadai0.cができているのがわかります。
これでCのコードが書けたのですが、このままでは動かすことはできません。Cのコードは、コンパイルという操作を経ることで実行可能なプログラムになります。 コンパイルはターミナルから行います。
gcc -Wall -o world kadai0.c
シェル命令の実行後に何も表示されなければ、成功です。worldという名前の実行可能なファイルが作成されました。何か表示された場合は、ファイルに書き間違いがあったということなので、Emacsで編集しなおしてください。
実行可能ファイルの名前に拡張子が付いていないのは、単に伝統的な理由です。任意の拡張子を付けてもあまり問題はありません。一方、ソースコードの書かれたファイルの拡張子はEmacsにとって重要です。Cのコードを書くときは必ず「.c」という拡張子を使ってください。
今回のシェル命令のオプションは-Wallと-oの2つです。-Wallはプログラムに怪しい箇所がある場合に警告をしてくれるオプションです。警告には様々な種類がありますが、-Wallは全ての警告を出してくれます。(Warning+allの意味です、壁という意味ではありません。) -oは実行可能なファイルの名称を定めるオプションで、たとえば-o testなどとすると実行可能なファイルとしてworldの代わりにtestが出来ます。
最後に以下の命令をシェルで実行してみてください。
./world
「Hello, world」と表示されれば、チュートリアルはおしまいです。
実行すると、
Hello, world
とだけ出力して終了するプログラムを作成せよ。(コンマの直後には空白が含まれている。)
本課題を提出する際、メール本文に各人のこれまでのプログラミング経験を簡潔に記せ(競技プログラミングのレートや、あるいは公開しているツールなどがある場合には、それを記載すること。また、これまでプログラミング経験がないものは経験がないと書くこと)。なおこの内容は本実験において参考資料として用いるものであり、成績評価には利用しない。