C言語について
この項目で学ぶこと
なぜ数ある言語からC言語を学ぶのか
C言語は他の言語よりも広く普及しています。それは、システムの深いところまで取り扱うことが出来ること、移植性が高いこと、記述が容易であるといった理由があります。C言語は他のプログラミング言語と比べて、記述方法が柔軟かつ記号的で、始めてみた人にとっては少し分かりづらい面があります。しかし、一度理解してしまうと簡潔で記述しやすいものです。
プログラムのソースに必ず必要な記述について
プログラムのソースには必ず記述しないといけないものがあります。下のソースファイルは最小限の記述ではありませんが、講義中は必ずソースファイルに記述する必要があるものです。
サンプルソース 何もしないプログラム
#include<stdio.h> int main(){ return 0; }
何もしないプログラムですが、C言語の文法を学ぶことが出来ます。主なものを紹介します。
1行目の#include<stdio.h>は、後述のprintf関数を使用するために必要です。講義では毎回この関数を使用するので、毎回記述する必要があります。
2行目記述はmain関数と呼ばれるものです。関数については 別の講義で詳しく説明しますが、複数の処理を実行するものと考えて下さい。 { から } の間に処理を記述します。C言語では関数を組み合わせてプログラムを作っていきます。C言語のプログラムでは、main関数だけは必ず作らなくてはならないことになっています。なぜなら、C言語のプログラムはmain関数から処理が開始されるからです。スタート地点が分からないと処理できないため必須なのです。
3行目のreturnは、関数の処理を終了させる命令です。この場合、main関数内でreturn文が使われているのでreturn文が実行されるとmain関数が終了します。main関数が終了するとそのプログラム自体が終了します。returnの後ろの数字については別の講義で詳しく説明します。
全ての関数は複数の文からなります。文とは1つの処理です。セミコロン(;)で文章を区切ります。日本語の句読点のようなものです。文は1行に複数の文を書くことができますが、1行1文にしたほうが見やすい場合が多いです。
1行目の#include<stdio.h>は、後述のprintf関数を使用するために必要です。講義では毎回この関数を使用するので、毎回記述する必要があります。
2行目記述はmain関数と呼ばれるものです。関数については 別の講義で詳しく説明しますが、複数の処理を実行するものと考えて下さい。 { から } の間に処理を記述します。C言語では関数を組み合わせてプログラムを作っていきます。C言語のプログラムでは、main関数だけは必ず作らなくてはならないことになっています。なぜなら、C言語のプログラムはmain関数から処理が開始されるからです。スタート地点が分からないと処理できないため必須なのです。
3行目のreturnは、関数の処理を終了させる命令です。この場合、main関数内でreturn文が使われているのでreturn文が実行されるとmain関数が終了します。main関数が終了するとそのプログラム自体が終了します。returnの後ろの数字については別の講義で詳しく説明します。
全ての関数は複数の文からなります。文とは1つの処理です。セミコロン(;)で文章を区切ります。日本語の句読点のようなものです。文は1行に複数の文を書くことができますが、1行1文にしたほうが見やすい場合が多いです。
コンソールに文字を表示する方法について
コンソールとは、背景が黒く、キーボードからコマンドを入力して操作するあれです。
これ
これ

この画面に文字を表示してみたいと思います。C言語のプログラムで文字列を表示するには、printf関数を使います。
printf("ここに表示したい文字を書く\n");
printf()の括弧の中に文字列を書くことで文字列を表示します。また、C言語はダブルクォーテーション(")ではさまれたものを文字列とみなします。
¥nは改行を表します。printf関数を使用したときは特別な理由が無い限り最後に改行しましょう。改行しないで文字列を表示してみればその理由が分かります。やってみてください。改行を表すこの2文字は画面に表示されません。他にも¥で始まり、printf関数で使用したときに特殊な動作を表す文字がいくつかありますが詳しい説明は別の講義でします。
¥nは改行を表します。printf関数を使用したときは特別な理由が無い限り最後に改行しましょう。改行しないで文字列を表示してみればその理由が分かります。やってみてください。改行を表すこの2文字は画面に表示されません。他にも¥で始まり、printf関数で使用したときに特殊な動作を表す文字がいくつかありますが詳しい説明は別の講義でします。
コンソールに「Hello World!」と表示するプログラム
#include<stdio.h>
int main(){
printf("Hello World!\n");
return 0;
}
int main(){
printf("Hello World!\n");
return 0;
}
プログラミングの際の基礎知識
C言語の基礎的な文法を説明します。
英字の大文字小文字は区別されます。
改行、スペースを自由に入れることが出来ます。ただし、名詞の途中には改行、スペースを入れることが出来ません(mainをma inとするなど)。見栄えのために1文ごとに改行する癖をつけましょう。さまざまなソースを見ていけばどのようにスペースを入れれば見やすく記述することが出来るかわかるようになります。スペースをあけるにはキーボード左側にあるTabキーを押して行います。このように行の先頭を右に移動することを字下げ(インデンド)といいます。半角スペースで字下げをすることも出来ますが、Tabキーのほうが楽です。なお、全角スペースで字下げをするとコンパイルエラーになります。
プログラムにコメントを書き入れたいときには主に//(ダブルスラッシュ)を使用します。プログラムが実行される際、このダブルスラッシュ以降はソースファイルが改行されるまで無視されます(正確な内部動作は違いますが)。ダブルスラッシュのほかに、/**/を用いてコメントを書くことも可能です。これは、/*と*/の間に書かれたものをコメントとして扱うものです。なにかと前者のほうが使い勝手が良いので、サンプルソースなどはそちらを多用します。コメントはどこにでも記述することが出来ます。記述の仕方を覚えるまではあちこちにコメントを入れることをオススメします。コメントは時間を置いてからプログラムを見直す際に役立ちます。
英字の大文字小文字は区別されます。
改行、スペースを自由に入れることが出来ます。ただし、名詞の途中には改行、スペースを入れることが出来ません(mainをma inとするなど)。見栄えのために1文ごとに改行する癖をつけましょう。さまざまなソースを見ていけばどのようにスペースを入れれば見やすく記述することが出来るかわかるようになります。スペースをあけるにはキーボード左側にあるTabキーを押して行います。このように行の先頭を右に移動することを字下げ(インデンド)といいます。半角スペースで字下げをすることも出来ますが、Tabキーのほうが楽です。なお、全角スペースで字下げをするとコンパイルエラーになります。
プログラムにコメントを書き入れたいときには主に//(ダブルスラッシュ)を使用します。プログラムが実行される際、このダブルスラッシュ以降はソースファイルが改行されるまで無視されます(正確な内部動作は違いますが)。ダブルスラッシュのほかに、/**/を用いてコメントを書くことも可能です。これは、/*と*/の間に書かれたものをコメントとして扱うものです。なにかと前者のほうが使い勝手が良いので、サンプルソースなどはそちらを多用します。コメントはどこにでも記述することが出来ます。記述の仕方を覚えるまではあちこちにコメントを入れることをオススメします。コメントは時間を置いてからプログラムを見直す際に役立ちます。
上のサンプルソースと同じ動きをするプログラム。記述変えver
#include<stdio.h> // printf関数を使うために必要 // メイン関数から処理が始まる。 int main () { // 「"」ではさまれたものを表示する。\nで改行。 printf("Hello World!\n"); // これで文字が表示される。 return 0; // プログラムを終了する }
添付ファイル