Visual Studio 2008 を始めて使用するとき、主に使用する言語として、Visual Basic, Visual C#, Visual C++ 等から 一つを選択する必要があります。 以下、C 言語のプログラミングだけに使用しますが、この場合には Visual C++ を選ぶ必要があります。
こうすると、新規プロジェクトの作成の際に Visual Basic, Visual C# のプロジェクトの作成が 他の言語の中に行きます。
初心者向けの C 言語を教えているときに、Visual C++ のプロジェクトを作るべきなのに Visual Basic のプロジェクトを 作る人がいた。多分そのような問題を排除するためのものだと思います。
あとで、この設定を変更したい場合には、メニューの「ツール」/「設定のインポートとエクスポート」 を選び、「すべての設定をリセット」すればよいです。
Visual Studio 2008 で簡単な C 言語プログラムを作成するためには、 メニューのファイル/新規作成/プロジェクト を選びます。
次のようになる。
そこで、プロジェクトの種類、テンプレートを
| プロジェクトの種類 | 全般 |
|---|---|
| テンプレート | 空のプロジェクト(NET) |
のように指定して、プロジェクト名を適当につけます (プロジェクト名はフォルダ名になります)。 「場所」は変更する必要がなく、そのまま「OK」を選びます。
すると、左の方に「ソリューション エクスプローラ」と称するものが次のような 表示になります。(これはプロジェクト名を sample とした場合の表示です。)
更に、この「ソリューション エクスプローラ」の「ソースファイル」の上で 右クリックします。メニューから「追加」/「新しい項目の追加」を選びます。
カテゴリーは「Visual C++」となっており、右のほうのテンプレートで「テキスト ファイル」 を選択し、ファイル名として例えば「sample.c」と書き込みます。
テキストが入力できるようになりますから、次のような書き込みをします。
ソースファイルを作成したら メニューの「ビルド」/「MyProject のビルド」を選ぶ。(これはプロジェクト名が MyProject の場合です。)
首尾よくビルドに成功すれば窓の下の部分 (出力用の窓) に次のような表示が出ます。
もしもソースファイルにエラーがあれば次のような表示があらわれます。
この場合にはエラーを表示している窓の箇所をダブルクリックすると
のように、エラーの行を指示してくれます。(実際はこの行あるいは直前の行にエラーの原因が あります。)原因を十分に考えて修正を施し、再度ビルドします。
首尾よく、ビルドに成功したら、「デバッグ」/「デバッグなしで開始」を選んで実行してみましょう。
ここでは上で作成した次のソースファイルのプログラム説明をします。
プログラムは
Hello world!
を出力するためのものです。
少し簡単に文法を解説する。
C 言語本体には機能がほとんど付いていない。 例えば標準入出力 (キーボードからの入力, ディスプレーへの 出力など) の機能を使うためには, 明示的に
#include <stdio.h>
のようにして標準入出力用のヘッダーファイル stdio.h (standard IO header = 標準入出力ヘッダー, IO = input and output)) の組み込みをしないといけない。
main(){ } の部分が C 言語のメインである。これより前の部分を ヘッダーと呼び、通常各種のヘッダーファイルを組み込む場所である。
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) すればコンパイルしてからリンクされる。
printf 文で文字を出力する際に、
任意の位置に改行コード \n を挿入できる。
これを使用して、
例えば次のような複数行の日本語の文字列を出力するプログラムを書け。
C 言語は 1973 年にリッチによって作られたのが 始まりで、1978 年に出版されたカーニハンと リッチの本で C 言語の定義がなされ、その後 ANSI と呼ばれる C 言語の規格が制定され、 現在に至っています。
日本語文字の入力をするには、
『半角/全角』を押す。日本語入力から、英数字入力に戻るには再び 『半角/全角』 を押す。
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 を終了して、このファイルを削除する必要がある 場合があった。
コマンドラインからコンパイルする方法は、以前は「ヘルプ」から検索できて確認できたのですが、 今ではヘルプから消えているようです。 しかし、Visual Studio 2008 では以下のようにするとともかく簡単な C 言語プログラムであれば コンパイル、リンクできます。
次のような 2 つのバッチファイル vc.bat, cc.bat を用意します。 (テキストエディターで作成する)
"c:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
cl -W3 -EHsc %1
C 言語のソースファイル sample.c をテキストエディターで作成し、適当なフォルダに保存する。 このフォルダに上の 2 つのファイルを保存する。DOS 窓を広げ (or cmd.exe を実行し) 次のように打ち込む。これで sample.c の実行ファイル sample.exe が作成される。 ファイルの実行には単に sample と打ち込めばよい。
vc cc sample.c
コマンドラインで、vc.bat を実行した状態と、「スタート」メニューから 「Microsoft Visual Studio 2008」のサブメニューから、 以下のメニューを 実行することは同じことのようです。