パソコン教室のエフセブン トップページへエフセブン オンラインテキスト
●プログラミング言語C入門

>>「プログラミング言語C」をまなぶ準備をする〜環境の設定

 「プログラミング言語C(シー)」を学ぶためには、実際にプログラムを書いて実行する環境が必要です。プログラミングの手順は、
「プログラムを書く」→「パソコンで実行できる形式に変換する」→「実行する」→「訂正する」・・・の繰り返しです。
 このうち、「プログラムを書く」「訂正する」ためには、ウインドウズ付属の「メモ帳」でもできます。「実行する」ためには、特別なものは何も必要ではありません。「パソコンで実行できる形式に変換する」ために「Cコンパイラ」と呼ばれる特別なソフトが必要になります。
 この「Cコンパイラ」には、いろいろなものが作られています。「Cコンパイラ」はウインドウズパソコンには付属していませんので、次のいくつかの方法で入手します。

  1. 市販のCコンパイラを購入する
  2. Linuxをインストールする
  3. LSI C-86 Ver.3.30c試食版(エル・エス・アイ ジャパン株式会社)をインストールする
  4. その他

 市販の「Cコンパイラ」を使うと、他のウインドウズソフトと同じように、マウスを使って、整理された画面を見ながら、効率よくプログラムを作成することができます。将来にわたって本格的にプログラミングを学びたい方、お仕事で使われる方は市販のC, C++, C#などのコンパイラを使うといいでしょう。
 Linuxをインストールすると、Linux, UNIXで動作するプログラムを作成することができます。また標準でインストールされるさまざまな便利なツールやエディタを利用することもできます。Linuxに興味がある、他のプログラミングの経験があるという方におすすめです。
 LSI C-86 Ver.3.30c試食版は、プログラム学習のために作られたスモールサイズに限定したMS-DOSプロンプト(コマンド プロンプト)から実行するCコンパイラです。Cプログラミングが初めての方であれば、このコンパイラから基本を学んだ後、市販のCコンパイラを選ぶというのはどうでしょうか。

>>Hello World!〜初めてのプログラム

 画面に「Hello World!」と表示するだけの単純なプログラムを書いてみましょう。これは、Cプログラミングの学習書によく出てくるプログラムの一例です。[ →Hello.c についての詳細な説明 ]

01: /* はじめてのプログラム */
02: #include<stdio.h>
03: 
04: main()
05: {
06:     printf("Hello World!\n") ;
07: }

 それぞれの行の「番号:」は行がわかるように記したものです。
 1行目の「/*」〜「*/」は、コメント(注釈)をあらわしています。コメントは、プログラムの実行には影響ありませんが、あとで自分で読んだり、人に読んでもらうときの目印になるものです。プログラムが長くなるほど、コメントの必要性が高くなります。
 2行目の「#include<stdio.h>」は、本当は、いつでもプログラムを始めるときに必要な長いおまじないを簡単に表したものです。ここでは、プログラムはいつもこのおまじないから始まると覚えておいてください。
 3行目の空行(何もない改行だけの行)は、特に必要なものではありませんが、あとでプログラムを見やすくするために、ブロック範囲を分けておくために入れる癖をつけておいてください。
 4行目の「main()」は、プログラムの本体をあらわします。実際のプログラム本体は、5行目の「{」から7行目の「}」の間に記します。
 つまり、この例では、実際に実行されるプログラム部分は6行目の「printf("Hello World!\n");」のみということになります。

>>目で見てわかるプログラムの書き方

 コメントだけでなく、プログラム中の空白や改行やタブは単なる区切りであって、プログラムの実行には影響がありません。上記のプログラムを下記のようにたった2行で記すこともできます。プログラムが短い間は、このように空白を切りつめた書き方も有効です。

01: #include<stdio.h>
02: main(){printf("Hello World!\n");}

 また、下記のように記してもプログラムとしては、間違いではありません。

01: /* はじめてのプログラム書き方のよくない例 */
02: #include<stdio.h>
03: main(){
04: printf(  "Hello World!\n");
05:     }

 プログラムが短い間はどのように記しても構いませんが、長くなるほど、main()の範囲がどこからどこまでか、他のブロック範囲がどこからどこまでかを目で見てわかる書き方が求められます。プログラムでは、順番に実行されるものは同じ桁位置に並べて入力し、範囲の中に記されているものは、インデントして記します。

>>関数について

 これまでのところでプログラムには、繰り返しや分岐などの構造を持つことを学びました。これらは、プログラムを簡潔にし、処理を効率化します。
 同様に何度も同じ処理が必要になったとき、その処理の部分をひとまとめにしておくと、プログラムが大きくなってもやはり処理の効率化が可能になります。
 このように大きなプログラムで使うための、ひとつひとつの処理をまとめた小さなプログラムを関数といいます。
 プログラムをいくつも作っていくと、「あれ?この処理は前にも書いたぞ・・・」という場面に出くわすことがたまにあります。そういうときにはその処理の部分を関数として作っておくと、新しく作らなくても別のプログラムができあがります。

>>サンプルプログラムと解説

kuku.c かけ算九九を表示する。forを使った繰り返し処理の方法を学ぶことができます。
©2004 f-seven.biz
ここをクリックしてメールを送信してください みゆう (^o^/mu