
C言語の基本|VS CodeでC言語をコンパイル・実行する
VS Codeの中で、書く・コンパイルする・実行する流れをまとめて体験しよう。
ここまでで、C言語のソースファイルを作成し、コマンドプロンプトで gcc を使ってコンパイル・実行する流れを確認してきました。
ここからは、もう一歩進んで、VS Codeの画面の中でC言語のプログラムをコンパイルし、実行結果まで確認する方法を学んでいきます。
VS Codeは、ソースコードを書くためのエディターですが、それだけではありません。画面の下側にターミナルを表示して、そこにコマンドを入力できます。つまり、別でコマンドプロンプトを開かなくても、VS Codeの中で gcc を実行し、作成した実行ファイルをそのまま動かせます。
この方法に慣れると、C言語の学習がかなり進めやすくなります。コードを書いて、すぐにコンパイルし、エラーが出たら同じ画面で直し、もう一度実行する。この繰り返しがスムーズになるからです。
VS Codeで実行する流れを先に確認する
今回は、すでにVS Codeで作業用フォルダーを開いていて、その中にC言語のファイルを保存している前提で進めます。たとえば、cwork フォルダーの中に greeting.c を作成しているような状態です。
| 手順 | 内容 | ポイント |
|---|---|---|
| 1 | VS Codeでターミナルを開く | 同じ画面でコマンドを実行できる |
| 2 | 既定のプロファイルをCommand Promptにする | 学習手順をそろえやすい |
| 3 | chcp 65001 でUTF-8に切り替える | 日本語表示の文字化け対策になる |
| 4 | gcc でコンパイルする | コンパイルとリンクがまとめて行われる |
| 5 | 実行ファイルを起動する | 実行結果をターミナルで確認する |
| 6 | エラーがあればコードを修正する | VS Codeの波線や問題タブも使える |
VS Codeの中で、編集、コンパイル、実行、修正をまとめて行えるようになると、学習のテンポがよくなります。
図1:VS Code内でC言語を動かす全体像

この図から分かること
VS Codeでは、コードを書く作業とコマンドを入力する作業を同じ画面で行えます。ターミナルを開いて gcc を実行すれば、別のコマンドプロンプトを起動しなくても、コンパイルと実行結果の確認まで進められます。
VS Codeでターミナルを開く
まずは、VS Codeのターミナルを表示します。
ターミナルは、コマンドを入力するための領域です。VS Codeでは、画面下部に表示されることが多いです。
開き方は次の通りです。
- メニューから 表示 → ターミナル をクリックする
- ショートカットキーでターミナルを開く
VS Codeのターミナルを使うと、ソースコードを見ながらすぐにコンパイルできます。エラーが出たときも、画面を切り替えずに該当箇所を直せるので、学習しやすくなります。
| メリット | 内容 |
|---|---|
| 画面を切り替えなくてよい | エディターとターミナルを同じ画面で使える |
| 修正がすぐできる | エラーを見て、すぐコードに戻れる |
| 学習の流れが見えやすい | コード、コマンド、実行結果をまとめて確認できる |
| 作業効率が上がる | 保存、コンパイル、実行、修正を続けやすい |
既定のプロファイルをCommand Promptにする
VS Codeのターミナルでは、PowerShellやCommand Promptなど、複数のシェルを使えます。
初期状態ではPowerShellになっていることがありますが、C言語学習の最初はCommand Promptにそろえると、説明どおりに進めやすくなります。
設定手順は次の通りです。
- VS Codeでターミナルを開く
- ターミナル右上の下向き矢印をクリックする
- 規定のプロファイルの選択 をクリックする
- Command Prompt を選択する
- すでに開いているPowerShellのターミナルは、必要に応じて終了する
- 新しくターミナルを開き直す
PowerShellでもC言語のコンパイルや実行はできます。
ただし、学習書や教材の画面例がコマンドプロンプト基準になっている場合は、Command Promptに合わせたほうが混乱しにくいです。特に、文字コードや実行コマンドの表示が少し違って見えることがあるため、最初は環境をそろえるのがおすすめです。
文字コードをUTF-8に切り替える
VS Codeで作成したソースファイルは、UTF-8で保存されることが多いです。
一方、Windowsのコマンドプロンプトは、環境によってUTF-8以外の文字コードで表示する場合があります。そのため、日本語の文字列を表示すると、文字化けすることがあります。
そこで、VS CodeのターミナルでCommand Promptを使う場合も、最初に次のコマンドを実行しておくと安心です。
chcp 65001このコマンドは、コマンドプロンプトのコードページをUTF-8に切り替えるために使います。
実際の画面

| 項目 | 文字コードの例 |
|---|---|
| VS Codeで保存したソース | UTF-8 |
| コマンドプロンプトの既定表示 | Shift-JIS系の場合がある |
| chcp 65001 実行後 | UTF-8 |
chcp 65001 は、ターミナルを開き直すと元に戻ることがあります。
そのため、日本語表示を含むCプログラムを扱うときは、ターミナルを開いた直後に実行する習慣をつけておくと安心です。
図2:VS CodeターミナルをCommand PromptにしてUTF-8へ切り替える

この図から分かること
VS Codeのターミナルでは、Command Promptを選び、必要に応じて chcp 65001 を実行することで、教材の手順に合わせやすくなります。特に日本語の実行結果を表示する場合は、文字コードの準備をしておくと文字化けを防ぎやすくなります。
VS Code上でコンパイル・実行してみる
ここでは、短いCプログラムを作成し、VS Codeのターミナルでコンパイルして実行します。
前回までの流れと同じく、作業フォルダーの中にCファイルを保存しておきます。
VS Codeターミナルで実行確認するプログラム
ファイル名:greeting.c
// VS Codeのターミナルで実行を確認するプログラム
#include <stdio.h>
int main(void)
{
// メッセージを表示する
printf("VS Code terminal test\n");
return 0;
}このプログラムは、VS Codeのターミナルでコンパイルと実行を確認するための短い例です。
処理内容はシンプルで、画面に VS Code terminal test と表示します。
| 記述 | 役割 |
|---|---|
| // VS Codeのターミナルで実行を確認するプログラム | プログラムの説明を書くコメント |
| #include <stdio.h> | printf を使うための準備 |
| int main(void) | プログラムの開始地点 |
| { } | main関数の処理範囲 |
| printf("VS Code terminal test\n"); | 文字列を画面に表示する |
| return 0; | プログラムが正常に終了したことを示す |
コメントは、プログラムの説明を書くためのものです。
// から行末まではコメントとして扱われ、実行には影響しません。学習中は、あとで見返したときに分かるよう、短い説明を書いておくと便利です。
コンパイルする
VS Codeのターミナルで、作業フォルダーがCファイルのある場所になっていることを確認します。
そのうえで、次のコマンドを入力します。
gcc greeting.c -o greetingこのコマンドでは、greeting.c をコンパイルし、greeting という名前の実行ファイルを作成します。Windowsでは、実際には greeting.exe が作られます。
| 部分 | 意味 |
|---|---|
| gcc | C言語のコンパイラーを起動する |
| greeting.c | コンパイル対象のソースファイル |
| -o greeting | 出力する実行ファイル名をgreetingにする |
この1行で、内部ではコンパイルとリンクがまとめて行われます。
コンパイルはソースコードを機械が扱いやすい形へ変換する処理、リンクは必要なライブラリなどを結びつけて実行ファイルを作る処理です。
コンパイル成功時の見え方
コンパイルが成功した場合、基本的には何も表示されずにプロンプトへ戻ります。
最初は「何も出ていないけれど成功なのかな」と不安になるかもしれませんが、エラーが表示されていなければ成功していることが多いです。
確認するポイントは次の通りです。
- エラーメッセージが表示されていない
- 次のコマンドを入力できる状態に戻っている
- 作業フォルダー内に greeting.exe が作成されている
C言語では、成功したときよりも、失敗したときにメッセージが表示されることがよくあります。
そのため、何も表示されないことも正常な動きとして覚えておきましょう。
実行する
コンパイルが成功したら、続けて実行します。
greeting環境によっては、次のように拡張子付きで実行してもかまいません。
greeting.exe実行結果の例は次の通りです。
VS Code terminal testこの表示が出れば、VS Codeの中だけで、編集、コンパイル、実行までできたことになります。
ここまでできると、これからのC言語学習でコードを試す流れがとても楽になります。
図3:VS Codeで編集から実行結果確認まで進める流れ

この図から分かること
VS Codeでは、ソースコードを書く画面とターミナルを同時に使えます。コードを書いて保存し、すぐ下のターミナルで gcc を実行し、そのまま実行結果を確認できます。エラーが出た場合も、同じ画面で修正しやすいのが大きなメリットです。
よくあるコンパイルエラーと対処法
C言語の学習では、エラーはよく出ます。
大切なのは、エラーを出さないことではなく、エラーを読んで直せるようになることです。
セミコロンを忘れる
C言語では、文の終わりにセミコロン ; が必要です。
エラーになる例です。
printf("VS Code terminal test\n")正しくは、次のように末尾に ; を付けます。
compiling-c-vscode03確認するときは、エラーメッセージの行番号を見て、その行や前後の行にセミコロンがあるか確認します。
修正したら、保存してから再コンパイルしましょう。
全角文字が混ざっている
コメントや文字列の中なら日本語を使っても問題ありません。
しかし、コードの記号部分に全角文字が混ざると、エラーの原因になります。
| 確認ポイント | 内容 |
|---|---|
| 入力モード | 日本語入力がONのままになっていないか |
| 記号 | ;、()、{} が半角か |
| スペース | 見た目では分かりにくい全角スペースがないか |
| 数字 | 半角数字で入力しているか |
怪しい行がある場合は、その行を一度削除して、半角入力で打ち直すのが早いこともあります。
波括弧の対応が間違っている
main関数の中身は { と } で囲みます。
この対応が崩れると、構文エラーになります。
よくあるミスは次の通りです。
- { はあるのに } がない
- } を余分に書いている
- 関数の外に処理を書いてしまっている
VS Codeでは、括弧にカーソルを合わせると対応する括弧が強調表示されることがあります。
インデントを整えると、波括弧の対応ミスも見つけやすくなります。
ダブルクォーテーションの不一致
文字列は " で囲みます。
開始と終了の引用符がそろっていないと、コンパイルエラーになります。
エラーになる例です。
printf("VS Code terminal test\n');この例では、開始が " なのに、終了が ' になっています。
正しくは、次のように同じ " で閉じます。
printf("VS Code terminal test\n");文字列の中に " を表示したい場合は、エスケープを使います。
printf("He said \"C language\".\n");綴りを間違える
C言語では、関数名や予約語の綴りが少しでも違うと正しく動きません。
| 間違い例 | 正しい綴り |
|---|---|
| pritnf | printf |
| retrun | return |
| mian | main |
エラーメッセージに表示された単語を見ながら、正しい綴りと比べて確認しましょう。
VS Codeの補完候補も参考になります。
ヘッダーファイルのインクルード忘れ
printf を使うには、次の行が必要です。
#include <stdio.h>この行は、標準入出力の機能を使うための準備です。
最初のうちは、printf を使うなら #include <stdio.h> が必要、とセットで覚えておくとよいです。
エラーメッセージの読み方
コンパイラーは、エラーの場所や原因のヒントを表示してくれます。
英語で表示されるため最初は驚くかもしれませんが、見るポイントを決めておくと読みやすくなります。
| 手順 | やること |
|---|---|
| 1 | エラーメッセージの行番号を見る |
| 2 | 該当行とその前後を確認する |
| 3 | 記号、綴り、括弧、セミコロンを見る |
| 4 | 修正して保存する |
| 5 | もう一度 gcc を実行する |
英語メッセージが苦手な場合は、まず次の単語に注目するとよいです。
| 単語 | よくある意味 |
|---|---|
| error | エラー |
| warning | 警告 |
| expected | 何かが必要、期待されている |
| missing | 何かが足りない |
| undeclared | 宣言されていない |
エラー文は、学習を止めるためのものではなく、直す場所を教えてくれる案内です。
最初は1つずつ読んで、少しずつ慣れていきましょう。
VS Codeで確認しやすい場所
VS Codeには、コンパイル前でもミスの候補に気づきやすくする表示があります。
| 場所 | 役割 |
|---|---|
| 波線表示 | 記述ミスの候補を見つけやすい |
| 問題タブ | エラーや警告の一覧を確認できる |
| ミニマップ | ファイル全体のどのあたりに問題があるか見やすい |
| ターミナル | gccのエラーメッセージや実行結果を確認できる |
C言語学習では、VS Codeの表示と、GCCのエラーメッセージの両方を見る習慣をつけると、修正が早くなります。
コピー操作も覚えておくと便利
エラーメッセージを調べたいときは、ターミナルの文字をコピーできると便利です。
| 環境 | コピー方法 |
|---|---|
| コマンドプロンプト | 範囲選択してEnter |
| VS Codeターミナル | 範囲選択してCtrl + C |
エラー文をコピーして調べたり、翻訳ツールで確認したりすると、学習が進めやすくなります。
VS Codeのターミナルを使えるようになると、C言語の学習はかなりスムーズになります。
コードを書き、保存し、gcc でコンパイルし、実行結果を確認し、エラーがあれば同じ画面で直す。この流れを何度も繰り返すことで、C言語の基本構造やエラーの読み方が自然に身についていきます。
