開発環境が整ったら、早速プログラムを打ち込んでみましょう。
開発環境が整っていない方は「実際にプログラムを動かすための環境について」を確認してみてください。
C言語は、基本的にアルファベット半角小文字で記述します。
(大文字を使う時は大抵なんらかの意味を持っていますし、全角文字は「コメント欄や文字列」にしか書けません
基本的な枠組みは以下のようになります。
#include <stdio.h> int main(void) { /* ここにプログラムを書く */ return 0; } |
ほとんどが、アルファベット半角小文字と記号で書かれています。
唯一「ここにプログラムを書く」というところが全角の日本語で書かれていますが、「/*」から「*/」で括られた箇所は「コメント欄」ですからプログラムの実行に関係ないので、全角文字でも問題ありません。
ただし、「/*」から「*/」で括られた箇所や「"」で括られた箇所以外で全角文字を使うと、「コンパイル」時にエラーになります。(後ほど詳しく書きます)
このプログラムは実行しても、何の結果も出ませんが、「コンパイル」「ビルド」は可能ですので、実際に打ち込んで実行してみてください。
実行結果
さて、このように実行できれば良いのですが、エラーが出て実行できない方もいらっしゃるでしょう。
なぜ、エラーが発生しているのか原因は様々だと思いますが、初めての方はどこがどう違うのか自分で発見するには非常に難しいかも知れませんので、私がこれまで見てきたエラーのポイントを書いておきます。
1.タイプミス(一番多い原因だと思います)
#includeの綴りが間違っていませんか?もし、#incude等になっていた場合、VC++のエラーでは、「fatal error C1021: プリプロセッサ コマンド 'incude' が無効です。」と表示されます。<stdio.h>の綴りが間違っていませんか?
実際のメッセージには行番号も書いてあるはずです。もし、<studio.h>等になっていた場合、「fatal error C1083: include ファイルを開けません。'studio.h':No such file or directory」と表示されます。intとmainの間に半角空白がありますか?もし、intmain等になっていた場合、「error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません」と表示されます。※サンプルでスペースが開いている部分は、しっかりスペースを空けましょう(ただし、不要なスペースはエラーの原因にもなります。)mainの綴りは合っていますか?もし、mian等になっていた場合、「ビルド」の際に、「error LNK2019: 未解決の外部シンボル _main が関数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) で参照されました。」と表示されます。returnの後の0はゼロです。(大文字のオー「O」ではありません)
ビルド時のエラーには行番号がありません。もし、オーになっていた場合、「error C2065: 'O': 定義されていない識別子です。」と表示されます。
2.全角文字(これが結構厄介です)
#include <stdio.h> int main(void) { /* ここにプログラムを書く */ return 0; }このプログラムには「コメント欄」以外に、全角文字が入っていますが、見分けられますか?
注意してみると、return 0の後ろの「;」(セミコロン)が全角なのは、分かるかもしれません。
ですが、コメント欄の後ろの全角スペースに気づくにはちょっと厳しいでしょう。
※マウスでドラッグしてみてください。(明らかに他のスペースより大きいスペースがあるはずです)
コンパイルすると、下のようなメッセージが出ます。
error C3873: '0x3000': この文字を識別子の最初の文字にすることはできません error C2065: ' ': 定義されていない識別子です。 error C2143: 構文エラー: ';' が 'return' の前にありません。 error C3688: リテラル サフィックス ';' が無効です。リテラル演算子またはリテラル演算子テンプレート 'operator "";' が見つかりません error C2143: 構文エラー: ';' が '}' の前にありません。このような、エラーメッセージが出た場合、全角文字を疑ってみてください。
特に、コメントを書いた後に半角への切り替えを忘れて打ってしまうことが多いようです。
3.プロジェクト設定の間違い
(多いのが、プロジェクト作成時に、「空のプロジェクト」のチェックを入れていない場合です)
![]()
プロジェクト作成が終わると、すでにプログラムが書いてある状態になります。
プロジェクトを作り直さなければなりません。