本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
第2回|はじめてのCプログラムを書く:Hello, Worldで基本構文を理解する

はじめてのC言語 | 第2回
はじめに
前回は、C言語がどのような位置づけの言語なのかを整理しました。
今回は、実際にC言語のプログラムを1つ作成し、macOSのターミナルでコンパイルして実行します。
目的は、次の3点です。
- Cプログラムの最小構成を理解する
- コンパイルと実行の流れを体験する
- main、printf、return の意味を正確に押さえる
最初に作るプログラム
ソースコード
hello.c という名前で、次の内容を保存します。
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}実行環境
前提
この記事は macOS と zsh を前提にしています。
コンパイラの確認
ターミナルで次のコマンドを実行します。
clang --versionclang version … のように表示されれば、コンパイラは利用できます。
実行手順
1. 作業用ディレクトリに移動する
たとえばデスクトップで作業する場合は、次を実行します。
cd ~/Desktop2. ソースファイルを作成する
エディタで hello.c を作成し、先ほどのコードを保存します。
3. コンパイルする
次のコマンドを実行します。
clang hello.c -o helloこのコマンドは、hello.c をコンパイルして、hello という実行ファイルを作成します。
4. 実行する
./hello実行結果:
Hello, World!コードの読み方
#include <stdio.h>
printf を使うために必要な標準入出力ライブラリを読み込みます。これがないと、printf の宣言が見つからず、警告やエラーの原因になります。
int main(void)
main は、プログラムの開始地点となる関数です。C言語のプログラムは通常ここから実行されます。
- int は戻り値の型
- void は引数を受け取らないことを意味する
{ と }
波かっこは、関数の処理範囲を表します。main 関数の中に書いた処理が、上から順に実行されます。
printf(“Hello, World!\n”);
文字列を画面に表示する命令です。
- printf は表示用の関数
- “Hello, World!\n” は表示する内容
- \n は改行
- 行末の ; は文の終わり
return 0;
プログラムが正常終了したことをOSに伝えます。C言語では、main の終了時に終了状態を返します。
- 0 は通常「正常終了」
- 0 以外は異常終了を表すことが多い
初心者が最初に覚えるべき基本ルール
文の最後には ; を付ける
C言語では、多くの文の終わりにセミコロンが必要です。
例:
printf("Hello, World!\n");
return 0;大文字と小文字は区別される
main と Main は別物です。printf も Printf では動きません。
文字列はダブルクォーテーションで囲む
文字列は “…” で書きます。
printf("Hello, World!\n");よくあるエラー
clang: error: no such file or directory: ‘hello.c’
原因: hello.c が存在しない場所でコンパイルしている可能性があります。
対処: pwd や ls で現在のディレクトリとファイル名を確認します。
pwd
lszsh: no such file or directory: ./hello
原因: コンパイルに失敗して hello が作られていない。実行ファイル名が違う。
対処: まずコンパイル結果を確認し、ls で hello があるか確認します。
expected ‘;’
原因: 文末の ; が抜けています。
対処: 直前の行の終わりを確認します。
試しに少しだけ変更してみる
表示内容を変える
#include <stdio.h>
int main(void) {
printf("Hello, C!\n");
return 0;
}再度コンパイルして実行します。
clang hello.c -o hello
./hello改行を消すとどうなるか
#include <stdio.h>
int main(void) {
printf("Hello, World!");
return 0;
}この場合、表示後に改行されません。
ターミナルでは、次のプロンプトが同じ行に続いて見えることがあります。そのため、基本的には \n を付けるほうが分かりやすいです。
ここで理解しておくべきこと
C言語は書いたらすぐ実行するわけではない
C言語では、次の順番で進みます。
- ソースコードを書く
- コンパイルする
- 実行する
Pythonのようなインタプリタ型言語とは、この点が大きく異なります。
main が入口になる
今後どのプログラムを書く場合も、基本は main から始まります。
最初は「Cプログラムは main から動く」と覚えておけば十分です。
まとめ
今回のポイントは次のとおりです。
- Cプログラムの基本形は #include、main、処理、return 0; で構成される
- printf を使うと文字列を表示できる
- clang でコンパイルし、./hello で実行する
- セミコロン、ファイル名、実行ファイル名の確認で多くの初歩的なミスを防げる
次回予告
次回は、C言語で変数を使います。
整数を保存して表示しながら、次の内容を整理します。
- 変数とは何か
- int の意味
- 値を代入する方法
- printf で数値を表示する方法
復習してみよう
復習したい方は、こちらもあわせてご覧ください。













