「C言語」って「言」が2つもあるのに黙ってタイピングするなんておかしいよね。
・・・・・
文字の形が、三つのキーを上から叩いているところを再現しているんですよ。
よく考えたら、日本語は関係ないよ。
下へまいりまーす。
今回はC言語の基本文法を解説します。
まず下のソース(プログラミング言語で書かれた文章)を見てください。
どういった意味を持っているかなどは気にしなくてかまいません。int main(void) { return 0; }よく見るといくつかの部分(パーツ)に分かれていますね。パッと見たら
ぐらいに分かれてますね。
- int
- main(void)
- {
- return
- 0;
- }
英文が単語ごとに空白で区切られている様に、C言語でも特定の位置で区切られます。
上のソ−スを限界まで区切ると下の様になります
この、1個単位で独立している物を「トークン」といいます。
- int
- main
- (
- void
- )
- {
- return
- 0
- ;
- }
C言語を分解していった時の最小単位が「トークン」です。
ちなみに上のソースは「10個のトークンから構成されている」といえます。
トークンとトークンの間は空白(スペース、タブ、改行のいずれか) をあけなければいけません。
逆に、一つのトークンの中に空白はいれれません。
C言語を分解していった時の最小単位を「トークン」呼ぶ。
トークンとトークンの間は空白(スペース、タブ、改行のいずれか) をあけなければいけない。
そういいながらよく見てみると『(』と『void』と『)』の間はあいてないし、 『0』と『;』もあいてないですね。
『(』や『{』 、『;』などといった「区切り記号」 と呼ばれるものの間には空白はいりません。
なのでint main(void) { return 0; }はint main(void){ return 0; }とも書けます。さらにいくと、int main(void){return 0;}とも書く事ができます。
個人的に、一番最後の例はあまりお勧めできません(見にくくなりますから)
普通、トークンとトークンの間は空白をあけなければいけないが、
区切り記号の場合は例外的にトークンとトークンの間に空白がなくてもよい
一番上の書き方が「C言語らしい書き方」で、
2番目の書き方はPascal言語からC言語に移った人に多く見られる書き方だそうです。
あと、決まりではないのですが、 『{』が出たらインデントをあけるという習慣があります。
aaaaa{ bbbbb; ccccc{ ddddd; } }インデントは4文字か2文字あけるのが多いようです。ここでは2文字にしています。
トークンの次に『セミコロン(;)』の役割について説明します。
セミコロンは1つの文(statement)の区切りとして置きます。
1つの文といってもあいまいですね。まあ、これはしばらくするとなれるでしょう(汗)
逆にセミコロンがついて区切られているのが一つの文と考えていってもいいですし。
今回の内容は、すぐに理解できなくても問題はありません。
どれも、いつかは自然に習得していくからです。
しかし、だからといってほっとかず、C言語になれてきたらまた、読み直していただければと思っています。