ページの最終校正年月日 :
2. そもそもの始めに
C 言語ソースの作成とビルド

最初に「ファイル」/「新規作成」/「プロジェクト」を選択する。

すると次の画面となり、ここで「Visual C++」/「Win32 コンソールアプリケーション」 を選び、プロジェクト名 (フォルダ名) を指定し、「OK」を選ぶ。

プロジェクト名には 10_02 のように日付を指定しておく方があとで思い出しやすくなります

上で「OK」を選ぶと、次のような「Win32 アプリケーション ウイザード」が 登場します。1 ページ目には指定するものがないので「次へ」を選びます。

次の頁で「空のプロジェクト」にチェックを入れて、「完了」します。

プロジェクトができると、「ソリューション エクスプローラー」が登場し、こ そこにプロジェクトができているのがわかります。

「ソリューション エクスプローラー」の中の「ソースファイル」を指定して、 右クリックして登場するメニューから「追加」/「新しい項目」を選択します。

次の画面となるので 「C++ ファイル」を選択し、 ファイル名として sample.c のような C ファイルを指定します。(拡張子が c)

テキストが入力できるようになりますから、次のような書き込みをします。

sample.c

ソースファイルを作成したら メニューの「ビルド」/「MyProject のビルド」を選ぶ。(これはプロジェクト名が MyProject の場合です。)

首尾よくビルドに成功すれば窓の下の部分 (出力用の窓) に次のような表示が出ます。

もしもソースファイルにエラーがあれば次のような表示があらわれます。

この場合にはエラーを表示している窓の箇所をダブルクリックすると

のように、エラーの行を指示してくれます。(実際はこの行あるいは直前の行にエラーの原因が あります。)原因を十分に考えて修正を施し、再度ビルドします。

首尾よく、ビルドに成功したら、「デバッグ」/「デバッグなしで開始」を選んで実行してみましょう。

用語
計算機プログラムのエラーのことを「バグ」(bug = 虫) という。 昔、計算機が大きな機械であったとき、動作が不良となって調べたところ回路に「虫」が まぎれこんでいたことが言葉の由来である。 プログラムのバグ (虫) をとり、正常に動作するようにすることを「デバッグ」 (debug) とか「虫取り」と言う。
プログラム説明

ここでは上で作成した次のソースファイルのプログラム説明をします。

sample.c

プログラムは

Hello world!

を出力するためのものです。

用語
「ソースファイル」 (source file) とは、元のファイルという意味です。 ビルドするとソースファイルから実行ファイルが作成されます。

少し簡単に文法を解説する。

ヘッダーとメイン関数

C 言語本体には機能がほとんど付いていない。 例えば標準入出力 (キーボードからの入力, ディスプレーへの 出力など) の機能を使うためには, 明示的に

#include <stdio.h>

のようにして標準入出力用のヘッダーファイル stdio.h (standard IO header = 標準入出力ヘッダー, IO = input and output)) の組み込みをしないといけない。

main(){ } の部分が C 言語のメインである。これより前の部分を ヘッダーと呼び、通常各種のヘッダーファイルを組み込む場所である。

printf

printf (= print format) は

    printf("  出力したい文章   ");

の構文で使用する。"   " で囲まれた部分には普通の文章を書けばよい。 \n改行 (new line) を意味し、文章を出力したあとで 改行することを指定している。

    printf("出力したい文章1\n出力したい文章2\n");

のように書けば

出力したい文章1
出力したい文章2

のように出力される。次のように書いても全く同じように出力される。

    printf("出力したい文章1\n"
        "出力したい文章2\n");

なお C 言語のプログラムでは各行の最後に セミコロン ; が 必要である。このことに関してはあとでもう少し詳しく説明をする。

コンパイルとリンク

C 言語のソースファイルから実行ファイルを作成するには コンパイルリンクをしないといけない。 コンパイル (compile) はソースファイルの文法チェックと機械語への 翻訳をする。しかしこの際たとえば printf の ような関数の手順は読み込まない。コンパイルに成功すれば 各種関数の手順を書いたファイル (= ライブラリー) との結合をする。 これがリンク (link) である。Visual C++ では 単にビルド (build) すればコンパイルしてからリンクされる。

課題
  1. printf 文で文字を出力する際に、 任意の位置に改行コード \n を挿入できる。 これを使用して、 例えば次のような複数行の日本語の文字列を出力するプログラムを書け。
    C 言語は 1973 年にリッチによって作られたのが
    始まりで、1978 年に出版されたカーニハンと
    リッチの本で C 言語の定義がなされ、その後
    ANSI と呼ばれる C 言語の規格が制定され、
    現在に至っています。
    

    日本語文字の入力をするには、

    『半角/全角』
    を押す。日本語入力から、英数字入力に戻るには再び 『半角/全角』 を押す。

  2. printf 文では改行コード \n 以外に タブコード \t を使用することもできる。これを 使って次のような文章を出力するプログラムを書け。

    日本語  英語
    科学    情報
    
ファイルを「閉じる」ときの注意

ファイルを閉じるときには一般に必ずメニューの 「ファイル」/「ソリューションを閉じる」 を選択すること。

単にメニューの 「ファイル」/「閉じる」を選択しても、 左のほうに見えるソリューションエクスプローラには変化がないからすぐにわかると思う。

プロジェクトを作成してビルドすると色々なファイルができる。 例えばプロジェクト名が MyProject で C 言語ファイルが sample.c であるとき 次のようなフォルダ, ファイルが作成される。

    MyProject ┬ MyProject.ncb, ...
              ├ Debug ─ MyProject.exe, ...
              └ MyProject┬ sample.c, ...
                          └ Debug ─ ...

以上のようなフォルダ、ファイルの中で 名前が Debug である 2 つのフォルダと MyProject.ncb は 「ソリューションを閉じる」を選んで終了した後で、 削除できる。削除しても再度プロジェクトを開いて、ビルドすればこのフォルダ、ファイルが 復活する。(当面使用しなくなったプロジェクトに関してはこのようにするほうが良い)

MyProject.ncb の上をマウスでかざすと 「VC++ IntelliSense Database」と表示される。 Visual Studio 2003 のときには、このファイルが壊れることがよくあった。 ビルドできなくなり、一旦 Visual Studio を終了して、このファイルを削除する必要がある 場合があった。