[C言語] 最も基本的なhello worldプログラムを動かしてみる
C言語でプログラミングを始める際、最初に学ぶのが”Hello, World!”プログラムです。
このプログラムは、標準出力に”Hello, World!”と表示するだけのシンプルなものです。
基本的な構造は、#include <stdio.h>で標準入出力ライブラリをインクルードし、int main()関数内でprintf("Hello, World!\n")を呼び出します。
このプログラムをコンパイルして実行することで、C言語の基本的な構文とコンパイルの流れを理解することができます。
C言語の開発環境を整える
C言語でプログラミングを始めるためには、まず開発環境を整える必要がありますが、今回は初めてのプログラムを動かすことのほうが重要ということで、paiza.ioを使いましょう。
 
paiza.ioにアクセスしたら、をクリックします。

エディター画面が開かれますが、おそらくC言語以外のプログラミング言語が選択されているはずです。

左上の緑のボタンにカーソルを合わせ、を選択してください。

これでC言語プログラミングができる環境が整いました。
Hello Worldプログラムの作成
C言語を学ぶ最初のステップとして、”Hello World”プログラムを作成します。
このプログラムは、コンソールに Hello World と表示するだけのシンプルなものですが、C言語の基本的な構造を理解するのに役立ちます。
プログラムの基本構造
C言語のプログラムは、以下の基本構造を持っています。
#include <stdio.h>
int main() {
    // ここにプログラムの処理を書く
    return 0;
}- #include <stdio.h>: 標準入出力ライブラリをインクルードしています。
printf関数を使用するために必要です。
- int main(): プログラムのエントリーポイントである- main関数を定義しています。
- {}: 中括弧で囲まれた部分が、- main関数の本体です。
main関数の役割
main関数は、C言語プログラムの開始点です。
プログラムが実行されると、最初にmain関数が呼び出されます。
main関数の役割は、プログラムの実行を制御することです。
- int型の戻り値を持ち、通常は- 0を返します。
これは、プログラムが正常に終了したことを示します。
- main関数の中に、プログラムの処理を記述します。
printf関数の使い方
printf関数は、標準出力に文字列を表示するために使用されます。
以下は、printf関数を使って Hello World を表示する例です。
#include <stdio.h>
int main() {
    printf("Hello World!\n");
    return 0;
}- printf("Hello World!\n”);: printf関数- を使ってHello World!` を表示します。
\nは改行を意味します。
Hello World!このプログラムを実行すると、コンソールに Hello World! と表示されます。
printf関数は、フォーマット指定子を使って変数の値を表示することもできます。
セミコロンと中括弧の重要性
C言語では、セミコロンと中括弧が非常に重要な役割を果たします。
- セミコロン (;): 各ステートメントの終わりを示します。
セミコロンを忘れると、コンパイルエラーが発生します。
- 例:printf("Hello World!\n");のように、printf関数の呼び出しの後にセミコロンを付けます。
- 中括弧 ({}): 複数のステートメントをブロックとしてまとめるために使用します。
関数や制御構造(if文、forループなど)で使用されます。
- 例:int main() { ... }のように、main関数の処理を中括弧で囲みます。
セミコロンと中括弧を正しく使用することで、プログラムの構造を明確にし、エラーを防ぐことができます。
プログラムのコンパイルと実行
C言語で書かれたプログラムは、コンパイルというプロセスを経て実行可能な形式に変換されます。
ここでは、プログラムのコンパイルと実行の手順を詳しく解説します。
コンパイルの手順
コンパイルは、ソースコードをコンピュータが理解できるバイナリ形式に変換するプロセスです。
以下は、GCCを使用したコンパイルの手順です。
- ソースコードの作成: まず、テキストエディタでC言語のソースコードを作成し、hello.cのようなファイル名で保存します。
- コンパイルの実行: コマンドプロンプトやターミナルを開き、次のコマンドを入力してコンパイルを実行します。
gcc hello.c -o hello- gcc: GNU Compiler CollectionのCコンパイラを呼び出します。
- hello.c: コンパイルするソースファイルの名前です。
- -o hello: 出力ファイル名を指定します。
ここではhelloという実行ファイルが生成されます。
実行ファイルの生成
コンパイルが成功すると、指定した名前の実行ファイルが生成されます。
Windowsではhello.exe、LinuxやMacではhelloという名前になります。
- 実行ファイルの場所: コンパイルを実行したディレクトリに生成されます。
- 実行方法: コマンドプロンプトやターミナルで次のコマンドを入力して実行します。
- Windows: hello
- Linux/Mac: ./hello
実行時の注意点
プログラムを実行する際には、以下の点に注意してください。
- パスの確認: 実行ファイルが存在するディレクトリでコマンドを実行する必要があります。
- 権限の確認: LinuxやMacでは、実行権限が必要です。
chmod +x helloで権限を付与できます。
- 環境変数: 必要なライブラリが正しく設定されているか確認します。
エラーメッセージの対処法
コンパイル時や実行時にエラーメッセージが表示されることがあります。
以下は、一般的なエラーメッセージとその対処法です。
- コンパイルエラー: ソースコードに誤りがある場合に発生します。
- 例: error: expected ';' before '}' token
- 対処法: 指定された行を確認し、セミコロンや中括弧の不足を修正します。
- リンクエラー: 必要なライブラリが見つからない場合に発生します。
- 例: undefined reference to 'function_name'
- 対処法: ライブラリのインクルードやリンクオプションを確認します。
- 実行時エラー: プログラムの実行中に発生するエラーです。
- 例: Segmentation fault
- 対処法: ポインタの誤使用やメモリ管理の問題を確認し、修正します。
エラーメッセージをよく読み、指摘された箇所を確認することで、問題を解決することができます。
Hello Worldプログラムの応用
“Hello World”プログラムを基に、C言語の基本的な機能を応用して、より複雑な出力を行う方法を学びます。
ここでは、標準出力のカスタマイズや複数行の出力、変数を使った出力、コメントの追加と管理について解説します。
標準出力のカスタマイズ
printf関数を使って、出力をカスタマイズすることができます。
フォーマット指定子を使用することで、数値や文字列を整形して表示できます。
#include <stdio.h>
int main() {
    printf("数値: %d, 文字: %c, 浮動小数点: %.2f\n", 42, 'A', 3.14159);
    return 0;
}- %d: 整数を表示します。
- %c: 文字を表示します。
- %.2f: 小数点以下2桁までの浮動小数点数を表示します。
数値: 42, 文字: A, 浮動小数点: 3.14このように、printf関数を使って様々なデータ型をフォーマットして出力することができます。
複数行の出力
複数行の出力は、\nを使って改行を挿入することで実現できます。
#include <stdio.h>
int main() {
    printf("Hello World!\n");
    printf("C言語のプログラミングを始めましょう。\n");
    return 0;
}Hello World!
C言語のプログラミングを始めましょう。このように、printf関数を複数回呼び出すことで、複数行のメッセージを出力できます。
変数を使った出力
変数を使って、動的な内容を出力することができます。
変数の値をprintf関数で表示するには、フォーマット指定子を使用します。
#include <stdio.h>
int main() {
    int age = 25;
    char name[] = "Taro";
    printf("名前: %s, 年齢: %d\n", name, age);
    return 0;
}- %s: 文字列を表示します。
- %d: 整数を表示します。
名前: Taro, 年齢: 25変数を使うことで、プログラムの出力を柔軟に変更することができます。
コメントの追加と管理
コメントは、コードの説明やメモを残すために使用します。
C言語では、//を使って1行コメントを、/* ... */を使って複数行コメントを記述します。
#include <stdio.h>
int main() {
    // これは1行コメントです
    printf("Hello World!\n"); /* ここでHello Worldを出力します */
    
    /*
    複数行コメントの例
    ここでは、プログラムの説明を詳しく書くことができます。
    */
    return 0;
}コメントを適切に使うことで、コードの可読性を向上させ、他の開発者や将来の自分がコードを理解しやすくなります。
まとめ
C言語の”Hello World”プログラムは、プログラミングの基本を学ぶための重要なステップです。
この記事では、開発環境の整え方から、プログラムの作成、コンパイル、実行、そして応用までを解説しました。
これを機に、さらに複雑なプログラムに挑戦し、C言語の理解を深めていきましょう。
 
![[C言語] 勝つまでじゃんけんするプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3075.png)
![[C言語] じゃんけんを繰り返し行うプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3074.png)
![[C言語] switch文でじゃんけんの判定をする方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3073.png)
![[C言語] 5回勝負で勝敗を決めるじゃんけんプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3072.png)
![[C言語] 3人でじゃんけんするプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3071.png)
![[C言語] オセロをするプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3068.png)
![[C言語] クイズを出すプログラムの作り方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3070.png)
![[C言語] キーボードから文字や数字を入力する方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3069.png)
![[C言語] アスタリスクを画面に表示する方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3067.png)
![[C言語] アスタリスクで図形(三角形や四角形)を描く方法](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3066.png)
![[C言語] じゃんけんの勝敗を出すプログラムの作り方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3076.png)
![[C言語] じゃんけんの判定を行うプログラムの書き方](https://af-e.net/wp-content/uploads/2024/08/thumbnail-3077.png)