インタプリタの代表的な言語が Basic, Ruby, Octave などです。 それでは、実際にプログラムソースを書くところから実行までの流れをおってみ ます。
まず、プログラムリストを打ち込む前に作業用ディレクトリをつくりましょう。
[nisimiya@dhcp32 nisimiya]$ mkdir C_Exercise [nisimiya@dhcp32 nisimiya]$ cd C_Exercise
まず、以下のリストを打ち込んで下さい。 ファイル名には、拡張子''c''を使います。 ここではファイル名を仮に ''ex706_1.c''とします。
---------- Program ----------------------
#include <stdio.h>
int main(void);
int main(void)
{
printf("Hello, world. \n");
}
----------- Program END ------------------
コンパイルして実行します。
[nisimiya@dhcp32 C_Exercise]$ gcc ex706_1.c もし何もエラーがなければ "a.out" というファイルがあるはずです。 このファイルが実行ファイルです。 [nisimiya@dhcp32 C_Exercise]$ ls a.out* ex706_1.c 実行してみます。 [nisimiya@dhcp32 C_Exercise]$ ./a.out Hello, world.``Hello, world. `` と表示されましたでしょうか。 コンパイル時にオプションを指定しなければ、実行ファイル名は、``a.out''と なります。 ソースプログラムの各行の意味は、以下のようになります。
---------- Program ----------------------
#include <stdio.h> ==>ここでは詳しい説明は省略。
「必ず必要」とだけ覚える。
int main(void); ==>この意味は、後述。
int main(void) ==>必ず main関数があります。
{ "{" と "}"で囲われた部分が
main関数の実行の内容です。
printf("Hello, world. \n"); ==> 画面に文字列を表示させる部分です。
"\n" は改行を意味します。
}
----------- Program END ------------------
また、C言語は各行の区切りに セミコロン";"を書きます。
これがないとエラー表示されます。
慣れないうちは、セミコロンの書き忘れによるエラーがもっとも多い。
中括弧 { と } は、一種の関数となっています。
最後の } は必ずしも改行をする必要はないのですが、プログラムを見やすくす
るために改行して一行に書いてあります。
---------- Program ----------------------
#include <stdio.h>
int main(void);
int main(void)
{
printf(" 1 + 3 is %d. \n", 1+2);
printf(" 8 minus 3 equals %d. \n", 8-3);
printf(" 10 divided by 2 equals %d. \n", 10/2);
printf(" 3 multiplied by 9 equals %d. \n", 3*9);
}
----------- Program END ------------------
少し説明します。
それぞれ、``printf''には、カンマで区切られて、2つの引数が渡されております。
一つが
``1 + 3 is %d. \n'' で、もう一つが ``1+2'' です。 とくに、%d と言うのは、その場所に整数値が配置されると言う事を表わ します。
---------- Program ----------------------
#include <stdio.h>
int main(void);
int main(void)
{
printf("%f\n", 12.3456);
printf("%7f\n", 12.3456);
printf("%7.0f\n", 12.3456);
printf("%7.1f\n", 12.3456);
printf("%7.2f\n", 12.3456);
}
----------- Program END ------------------
コンパイルして、実行すると以下のようになります。
確かめてください。
---------- 実行例 ----------------------
[nisimiya@dhcp32 C_lang]$ gcc ex704_4.c.c
[nisimiya@dhcp32 C_lang]$ ./a.out
12.345600
12.345600
12
12.3
12.35
---------- 実行例ここまで---------------
``f''というのは、浮動小数点を表わします。英語で言うと ``floating point''です。 意味は想像つきますでしょうか? ``f7.2''と言うのは、「7桁のうち、2桁を小数点以下にする。」 と言う意味です。
---------- Program ----------------------
#include <stdio.h>
int main(void);
int main(void)
{
printf("%d + %d = %d\n", 2, 5, 2+5);
printf("%f times %f equal %f\n", 2.5, 5.0, 2.5*5.0);
printf("%f waru %f ha %f\n", 32.5, 3.0, 32.5/3.0);
}
----------- Program END ------------------
%d などの書式は、printf分の最初の引数(ダブルクウォテーション''と'' で囲
まれた部分)に複数個書くことが来ます。
それぞれに対応した変数も必要です。