C言語におけるステートメントとは? 種類と書き方をわかりやすく解説


ステートメントの種類

C言語には、大きく分けて以下の種類のステートメントがあります。

  • 宣言ステートメント: 変数や関数の型や特性を宣言するステートメントです。int x;void print(char *message); のように記述されます。
  • 関数定義ステートメント: 関数を定義するステートメントです。int sum(int a, int b) { return a + b; } のように記述されます。
  • ジャンプステートメント: プログラム内の別の場所にジャンプするステートメントです。goto 文、break 文、continue 文などがこのカテゴリに含まれます。
  • 制御ステートメント: プログラムのフローを制御するステートメントです。if 文、for 文、while 文、switch 文などがこのカテゴリに含まれます。
  • 式ステートメント: 式を評価し、その結果を捨てたり、変数に代入したりするステートメントです。最も基本的なステートメントで、x = 10; のように記述されます。

ステートメントの書き方

C言語のステートメントは、一般的に1行で記述されますが、複数行にわたって記述することも可能です。複数行にわたって記述する場合は、行末にセミコロン ; を付ける必要があります。

int x = 10;
y = 20;
{
  int x = 10;
  y = 20;
  z = x + y;
}

以下に、C言語におけるステートメントの例をいくつか示します。

  • 関数を定義する: int sum(int a, int b) { return a + b; }
  • 関数を呼び出す: print("Hello, world!");
  • ループ処理を行う: for (i = 0; i < 10; i++) { print(i); }
  • 条件分岐を行う: if (x > 0) { y = 20; }
  • 変数に値を代入する: x = 10;


変数に値を代入する

#include <stdio.h>

int main() {
  int x = 10;
  int y = 20;
  printf("x = %d, y = %d\n", x, y);
  return 0;
}

このコードは、2つの変数 xy を宣言し、それぞれに値を代入します。その後、printf 関数を使って、変数の値をコンソールに出力します。

条件分岐を行う

#include <stdio.h>

int main() {
  int x = 10;
  if (x > 5) {
    printf("x は 5 より大きい\n");
  } else {
    printf("x は 5 以下\n");
  }
  return 0;
}

このコードは、変数 x の値が 5 より大きいかどうかを判断し、条件に応じてメッセージを出力します。

ループ処理を行う

#include <stdio.h>

int main() {
  for (int i = 0; i < 10; i++) {
    printf("%d: Hello, world!\n", i);
  }
  return 0;
}

このコードは、for ループを使って、0 から 9 までの数字を順にループし、それぞれ "Hello, world!" というメッセージを出力します。

関数を呼び出す

#include <stdio.h>

void print_message(char *message) {
  printf("%s\n", message);
}

int main() {
  print_message("Hello, world!");
  return 0;
}

このコードは、print_message という名前の関数を作成し、その関数を main 関数から呼び出します。print_message 関数は、引数として渡されたメッセージをコンソールに出力します。

#include <stdio.h>

int sum(int a, int b) {
  return a + b;
}

int main() {
  int result = sum(10, 20);
  printf("10 + 20 = %d\n", result);
  return 0;
}


以下に、いくつかの代替表現とそのニュアンスを紹介します。

  • コード: プログラムを構成するコードの一部であることを強調したい場合に使用されます。
  • 処理: ステートメントによって行われる処理に焦点を当てたい場合に使用されます。
  • 指示: プログラムがコンピュータに実行させる指示であることを強調したい場合に使用されます。
  • ステートメント: よりフォーマルな表現であり、プログラムにおける命令単位を明確に示す場合に使用されます。
  • : 最も一般的な訳語であり、幅広い種類のステートメントに使用できます。

具体的な状況に応じて、最適な代替表現を選択することが重要です。

以下に、それぞれの代替表現が適切な状況の例をいくつか示します。

  • コード: プログラムを構成するコードの一部であることを強調したい場合に使用します。
    • 例: このバグは、コードのこの部分にあるステートメントが原因で発生します。
  • 処理: ステートメントによって行われる処理に焦点を当てたい場合に使用します。
    • 例: このループ処理は、配列内のすべての要素を処理します。
  • 指示: プログラムがコンピュータに何をするように指示していることを強調したい場合に使用します。
    • 例: このステートメントは、コンピュータに 2 つの数を合計するように指示します。
  • ステートメント: プログラムの構造や動作を説明する場合、またはステートメントの種類を明確に区別したい場合に使用します。
    • 例: このプログラムは、10 個のステートメントで構成されています。
    • 例: この if ステートメントは、条件が真の場合にのみ次のステートメントを実行します。
  • : シンプルなプログラムの説明や、ステートメントの種類を問わない一般的な文脈で使用します。
    • 例: if 文、for 文、while 文などの制御文は、条件分岐やループ処理を行う文です。

上記以外にも、状況に応じて様々な代替表現が考えられます。重要なのは、その文脈に合った表現を選択し、誤解を招かないようにすることです。

上記以外にも、以下のような表現が使われることがあります。

  • 制御構文: プログラムのフローを制御するステートメントを表す場合に使用されます。
  • 宣言文: 変数や関数を宣言するステートメントを表す場合に使用されます。
  • 命令文: 命令を実行するステートメントを表す場合に使用されます。

これらの表現は、より専門的な文脈で使用されることが多いです。