ここでは、はじめてC言語を学ぶ人のために、C言語の構文について説明します。
ただし、正確に説明するとかえってわかりにくくなるので、あえて正確でない説明をしているところがあります。
*お約束 [#x3b6f7bb]
C言語のプログラムは、以下のような形をしています。
#geshi(c){{
#include <stdio.h>
int main(void) {
}
}}
このプログラムの波括弧 ''{ }'' の中に命令文を書きます。
*文字 [#d8d21308]
C言語のプログラムは、(文字列とコメントを除いて)すべて1バイト文字(半角文字)で書きます。
C言語では、大文字と小文字を区別します。
int と Int は別のものです。
*文 [#aa0a17b2]
一つの命令文の後にはセミコロン '';'' を付けます。
最後が波括弧 ''{ }'' で終わる命令文は、文の後にセミコロンをつける必要はありません。
*コメント [#c7b3a843]
''/*'' から ''*/'' までの部分は、コメントとして扱われ、無視されます。
''/*'' から ''*/'' までの部分と、''//'' からその行の終わりまでの部分は、''コメント''として扱われ、無視されます。
コメントの部分には、プログラムの説明などを書きます。
*文字列 [#rae64af8]
ダブル・クオーテーション ''" "'' で囲まれた部分は、文字列として扱われます。
*printf文 [#fcfe9847]
printf文は、画面に文字列を表示(出力)します。
''printf( )'' と書いて、括弧 ''( )'' の中に出力する文字列を指定します。
次のprintf文は、画面に "Hello World!\n" という文字列を表示します。
#geshi(c){{
printf("Hello World!\n");
}}
文の後にセミコロン '';'' が必要です。
*エスケープ文字 [#e7cbe124]
エスケープ文字は、改行やタブなど、目に見えない制御文字を表すための文字です。
エスケープ文字は、バックスラッシュ \ または円 ¥ と組み合わせて表します。
-\n 改行
-\t タブ
-\\ バックスラッシュ
-\" ダブル・クオーテーション
エスケープ文字は、バックスラッシュとその次の文字の2文字で1つの文字を表しています。
たとえば、''\\'' はプログラム内での見かけ上は2文字ですが、バックスラッシュ1文字を表しています。
*予約語 [#n7cbe723]
C言語のプログラムでは、以下のような、予約語として特別扱いされる語があります。
(全部で32個あります。)
-int
-void
-return
予約語は、変数や関数の名前には使えません。
*インデント [#k6b82258]
C言語のプログラムでは、命令文の中にさらに命令文を書くことができます。
たとえば、下のプログラムでは、main文の中にprintf文が含まれています。
#geshi(c){{
#include <stdio.h>
int main(void) {
printf("Hello World!\n");
return 0;
}
}}
このように、文の中に文が含まれるとき、含んでいる文と含まれている文がわかりやすくなるように、含まれている文の先頭に空白(またはタブ)を入れます。
*トークンとフリー・フォーマット(おまけ) [#bdc61695]
C言語のプログラムを構成しているものを細かい部品に分けたときに、最も小さな塊を''トークン''といいます。
#geshi(c){{
#include <stdio.h>
int main(void) {
printf("Hello World!\n");
return 0;
}
}}
たとえば、このプログラムに含まれているトークンは次の通りです。
-#include
-<
-stdio.h
->
-int
-main
-(
-void
-)
-printf
-(
-"Hello World\n"
-)
-;
-return
-0
-;
-}
トークンとトークンの間には、空白、タブ、改行のいずれかを入れる必要があります。
ただし、トークンが記号のときは必要ありません。
空白や改行には「トークンの区切り」という意味しかありません。
このように、自由に改行や空白を入れることができる書式を''フリー・フォーマット''と言います。