まずこのプログラムを見てください。
(ソースコードのファイル名はprg.c)
1 #include <stdio.h>
2 /**************************************
3 変数を使ったプログラム
4 ***************************************/
5
6 main()
7 {
8 //変数を宣言します
9 int apple;//整数型 りんごの個数
10 double pi;//実数型 円周率の値
11 char c; //文字型 1文字を記憶しておく
12
13 //以下は実行文
14 apple = 5;
15 pi = 3.14;
16 c = 'A';
17
18 /* 変数の値をプリントします */
19 printf("リンゴは%d個です\n",apple);
20 printf("円周率は%fです\n",pi);
21 printf("この文字は%cです\n",c);
22 }
この実行結果は以下のとおりです。
(windowsでは)
gcc prg.c -o prg.exe
prg.exe
(Linuxでは)
cc prg.c -o prg
./prg
リンゴは5個です
円周率は3.140000です
この文字はAです
1行目はprintf関数を使用するためのものです。
今は、必ず必要なおまじないだと思っておいてください。
それでは順番に見ていきましょう。
(上のサンプルプログラム実行する場合は、コピペでprg.cファイルに張り付けて行番号を消すと実行できますよ)
コメント
コメントとは、説明のメッセージを付けることです。この書き方を説明します。
2~4行はコメントです。複数行にわたるコメントを使用したい場合には、
/* */
でコメントを囲います。
8行、13行は1行のコメントの書き方です。
18行は1行のコメントですが、複数行の書き方でもOKです。
変数
9行~11行は変数の宣言です。
変数とは中学校の数学で習う変数と同じです。
y = 5x + 2
みたいな式の、x, y などです。
何かの数値や文字などが入る入れ物です。
C言語では変数は使用する前に(実行文の始まる前に)宣言する必要があります。
そして、変数の宣言には型があります。みていきましょう。
9 int apple;//整数型 りんごの個数
10 double pi;//実数型 円周率の値
11 char c; //文字型 1文字を記憶しておく
int は整数を入れる型です・・・1, 50, 1000 などを入れます
double は実数を入れる型です・・・1.4, 50.023, 100.0 などを入れます
char は文字を入れる型です・・・a, G, $, @, 8 などを入れます
apple, pi, c などは変数の名称です。好きな名前でよいのですが約束があります。
アルファベット、数字、アンダーバーを使用しますが、先頭の数字は不可です。
次の例を見てください。
1 #include <stdio.h>
2
3 int main()
4 {
5 int abc, z80, item_01, item_02;
6 double d_param;
7 char ch1, ch2;
8 }
5行~7行のような感じで変数名を宣言します。
ここで、もう一つ変数の宣言3行目にあります、 int main() です。
int だと整数型という意味です。
型が整数型ということは、mainという関数はmainという関数を実行した結果として
整数の値を返すということです。
mainという関数も、実は整数値を返すことができるのです。
整数値を返さなくてはいけないのです。
次の例を見てみましょう。
(ソースコードのファイル名はprg.c)
#include <stdio.h>
int main()
{
return 3;
}
このプログラムを実行して結果を確認します。
(windowsでは)
gcc prg.c -o prg.exe
prg.exe
echo %ERRORLEVEL%
3
(Linuxでは)
cc prg.c -o prg
./prg
echo $?
3
main関数はreturnという命令で値を返すことができます。
int main は main関数が整数値を返すよと宣言しているのです。
実行した結果、windowsですとコマンドプロンプトに、Linuxですと端末に、3が返されます。
ここでは関数も値が返せるということだけ意識してください。
変数の実行文
14行~16行が実行文です。
変数に値を入れたり、変数同士の計算を行う文のことです。
14 apple = 5;
15 pi = 3.14;
16 c = 'A';
14行、15行は変数に数値を入れています。
16行は変数名c にAという文字を入れています。
シングルクオーテーションでAを囲っているのは文字ですよという意味です。
文字の8を入れるのであれば、 c = '8'; となります。
printf関数
変数の内容をプリントするには、printf関数を使用します。
19 printf("リンゴは%d個です\n",apple);
20 printf("円周率は%fです\n",pi);
21 printf("この文字は%cです\n",c);
この実行結果は以下のとおりです。
リンゴは5個です
円周率は3.140000です
この文字はAです
使い方は
ptintf("出力書式", 変数1、変数2、・・・, 変数n);
となります。
printf("ちょっとテスト出力\n");
printf("%d %f %c\n",apple,pi,c);
printf("apple=%d pi=%f c=%c\n",apple,pi,c);
実行結果は以下のとおりです。
ちょっとテスト出力
5 3.140000 A
apple=5 pi=3.140000 c=A
出力書式は、自分が表示したいメッセージと変換指定子からなります。
変換指定子とは上記の例の、%d や %f や %c のことです。
これらは、整数、実数、文字など表示してねという意味です。
もっと高度に何桁で表示してね、といった指定もできます。これが変換指定子です。
出力書式の最後に \n を入れているのは、改行(行を変える)してという意味です。
改行しないと以下のようになります。
printf("ちょっとテスト出力");
printf("%d %f %c",apple,pi,c);
printf("apple=%d pi=%f c=%c",apple,pi,c);
実行結果は以下のとおりです。
ちょっとテスト出力5 3.140000 Aapple=5 pi=3.140000 c=A
プログラムの構成
プログラムの構成は以下のようになります。
おまじないのinclude文を書く部分
main()
{
変数の宣言を書く部分
実行文を書く部分
}
ポイント・コツ
分からないことや、どうだろうという疑問があったら、まあ分かっただろうと言い聞かせて
次に進みましょう。完璧主義ではなく80点主義がポイントです。
そのうち何とかなります。
コメント