パソコンに何かをさせるための「命令」である。例えば
などという命令をパソコンに伝えるために、
- 画面に「Hello! C Language!!」という文字を表示しなさい
- キーボードから入力した2つの数字の足し算の結果を画面に表示しなさい
- 画面に写真の画像を表示しなさい
- 画面に表示した画像をカーソルキーによって上下左右に動かしなさい
という作業を行う。このうち、1の
- パソコンにやって欲しいことを記述する
- パソコンにわかる言葉に変換する
- 命令を出す
パソコンにやって欲しいことを記述することをプログラミングといい、プログラミングの際に使う言語(言葉)をプログラミング言語という。
プログラミング言語のうちの1つ。プログラミング言語には
などいろいろあるが、C言語は使いやすさ(構造化プログラミング)を重視した実務的な言語である。
- BASIC
- COBOL
- Pascal
- Java
※構造化プログラミングとは- プログラミングの方法論。明確なアルゴリズムとデータ構造の上に立ち、流れ制御構造だけを用いてプログラミングすることにより、生産性が高く、信頼性の高いプログラムを作ろうというもの。
(構造化プログラミングの手法は後で説明する)
- 余談
- Windows全盛期の現在、プログラミングツールはMicrosoft社のVisual C++(以下VC++)が主力になった。VC++をマスターすることがWindows時代を生き抜く必須条件である。
VC++はC++というプログラミング言語をベースとした開発ツールである。C++は、クラスという概念を使ってオブジェクト指向プログラミングが可能な言語である。しかし、いきなりC++に取り組むのは無謀であり、お勧めできない。
何故なら、C++はMS-DOS時代の主力開発言語であったC言語をベースにして、それにクラスの概念を追加したものだ。つまりC++をマスターする前にC言語をマスターする必要があるということである。
ディスプレイに「Hello C Language!」と表示するプログラムをC言語で記述すると次のようになる。
main()
{
printf("Hello C Language!");
}
- mainと言う名の関数
- Cのプログラムは、
main()という書き出しで始まり、{と}の間に命令を記述する。(詳細は次章で解説する)
Cの基本単位は関数と呼ばれ、Cのプログラムは関数をいくつか寄せ集めて構成される。一番単純なプログラムはmain関数だけから成り立つ。
プログラミングの流れは次の通りである
- テキストエディタでC言語のソースファイルを作成する
- コンパイル・リンクを行う。
エラーがなかったら実行可能ファイルが作成される。- エラーが発生したらソースファイルを修正し、再度コンパイル・リンクを行う。
- 実行可能ファイルを実行し、動作を確認する
- ソースファイルの作成
- パソコンにやってもらいたいことをC言語で記述し、テキストファイルに保存する。C言語のソースファイルは拡張子を「.c」にしなければならない。
例)、kadai01_1.c- コンパイル・リンク
- プログラミング言語で書かれた命令をパソコンが理解できる言語(機械語)に変換する作業。この変換を行うプログラムを
コンパイラといい、変換することをコンパイルするという。
C言語のソースファイルをコンパイルすると、コンパイラは実行可能ファイルを出力する。Windowsでは拡張子が「.exe」のファイルである。(マッキントッシュやUNIXの場合、ファイル名では区別できない)- 実行方法
- コンパイラが出力した実行可能ファイルを実行させるには、Windowsの場合はそのファイルをダブルクリック、又はDOSプロンプトからそのファイル名を入力し、リターンキーを押す。
それでは実際にプログラムを作成し、実行してみよう。
- 課題1
- 以下のプログラムを入力し、実行結果を確認しなさい。 ソースファイル名は
kadai00_1.cとする。
#include <stdio.h> main() { printf("Hello C Language!\n"); }- 課題2
- 以下のプログラムを入力し、実行結果を確認しなさい。 ソースファイル名は
kadai00_2.cとする。
#include <stdio.h> main() { char buff[80]; printf("何か入力してください:"); gets(buff); printf("あなたが入力したのは「%s」ですね。\n", buff); }注意!
このプログラムを実行すると、「何か入力してください」と表示された後に止まります。これは入力を待っているので、何かを適当に入力してリターンキーを押してください。続きの処理が再開され、プログラムが終了します。