式・文・ブロック、プログラミングスタイルなど
最終更新日:2004-06-10.
今回は、プログラミングスタイルなどについてちょっと。
Cのソースファイル(ソースリスト)を書くとき、使いなれたエディタを使います。
そして、エディタを起動します。
そこにはmainとなる関数が必ずあります。
int main( )
{
return 0;
}
上記のmain( )はmainの関数です。
そして、
{
}
の中にいろいろな命令を書きます。
上記の
return 0;
は、プログラムが終了したときに終了コードとして0を返すというものです。
もし、プログラムでなにかパラメータを使用したいときには、
下記のように変更します。
int main(int argc, char **argv)
{
return 0;
}
Cでは、予めよく使用する関数を標準関数として用意しています。
例えば、printf()という、数字や文字、文字列などを画面に表示する関数が
あります。
このように、標準関数を使用する際には、その関数に関する情報が書かれた
ヘッダファイルをincludeします。
#include <stdio.h>
int main(int argc, char **argv)
{
printf("argc=%d, argv[0]=%s\n", argc, argv[0]);
return 0;
}
・Cのプログラミングスタイルについて
プログラミングスタイルは、フリーフォーマットとあります。
これは、基本的には空白や改行の影響を受けない自由な形式です。
式、文、ブロックなどによって表現されます。
そのため、1行に複数の文をずらずらと書くこともできるし、
見やすくするために空白や改行、インデントを使用することもできます。
フリーフォーマットといっても、そのソースを誰が見ても分かりやすく
理解しやすいものにするために、以下のようなことに注意することが必要です。
機能的にまとまりを持った処理を関数にしておく。
複数の命令を1行に書かない。
機能ごとに字下げして見やすくする。
ところどころに注釈分を入れて、理解の助けとする。
・Cの関数の役割
Cのプログラムは、いろいろな関数の組み合わせから成り立っている
といわれます。
Cの関数は、数学の関数と類似しています。
ある関数に値を与えると、独自の処理を行い、その結果を返します。
関数に与える値を引数といい、関数に値を入力することを
引数を渡すといいます。
また、関数が処理によって値を出力することを値を返すといいます。
この関数に入力、出力する値は一つだけではなく、複数のときもあるし、
ないこと(省略されていること)もあります。
関数の中でも「main」という関数は、必ず一つあり、
プログラムの処理の流れは、この関数で始まり、この関数で終わるように
なっています。
・Cのプログラムの構成要素
Cのプログラムは、「式」、「文」、「ブロック」からなりたっています。
式とは、
x=y+z-1
のように、変数や定数を演算子で結びつけたものです。
文とは、
x=(y+z)/2;
のように、式にセミコロン(;)を付けたものをいいます。
これは、文章の句点に相当します。
ブロックとは、
{
a=2;
b=3;
c=a+b;
d=a-b;
}
のように、{}でくくられた一つ以上の文の集まりをいいます。
・注釈文をつける
ソースを書いているとき、それがどういう処理をするのか
すぐに分かるように注釈文をつけておくとよいでしょう。
そのソースを他人が見たり、手を加えることもあるかもしれません。
そのような場合、見やすいソースを書くこと、
ところどころに注釈文を書いておくことは大切です。
注釈文の書き方は、
/* .... */
のように「/*」と「*/」でコメント文をくくります。
こうすると、ソースファイルをコンパイルする際、
コメントは無視されます。
といっても、もし、それが
printf("/* .... */");
のような場合は、本来のprintf()としての働きをします。
・標準関数を利用するには
printf()のような予め用意されている標準関数を利用するには、
そのことについて書かれているヘッダファイルをインクルードします。
printf()関数は、「stdio.h」というファイルに
そのことが書かれています。
ソースファイルには以下のような形式で記述します。
#include <stdio.h>
こうすると、ソースファイルをコンパイルするときに
Cプリプロセッサが処理してくれます。
では、コマンドプロンプトでプログラム名にパラメータを指定して
その結果を表示させてみましょう。
+------------------------------------------------------------+
/* filename=no005-1.c */
/* include */
#include <stdio.h>
/* main */
int main(int argc, char **argv)
{
int i;
/* パラメータを表示する */
for(i=0; i<=argc; i++)
printf("%d=%s\n", i, argv[i]);
return 0;/* 終了 */
}
+------------------------------------------------------------+
上記をコンパイルして、以下のように実行してみました。
コマンドプロンプトで、プログラム名にp1 p2 p3
というパラメータを指定してみました。
TEST.EXE P1 P2 P3
0=C:\C-MAG\TEST.EXE
1=P1
2=P2
3=P3
4=(NULL)
戻る