switch文

 条件により処理を分岐させるif文を見てきましたが、処理を分岐させるステートメント(命令)として、switch文もあります。このステートメントは、評価対象となる式の値を基に、処理を分岐させます。

switch文の書式
switch(評価式){
case 式1:
 処理1;
 break;
case 式2:
 処理2;
 break;

default:
 処理n;
 break;
}

switch文
switch文

○ ファイル

 次のようにファイルを作成してください。

ファイル名 switchTest1.c

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. #include <stdio.h>
  2. int main(void){
  3.  //変数の宣言
  4.  int num;
  5.  //データを入力
  6.  printf("平日は1を、休日は0を入力してください:");
  7.  scanf("%d", &num);
  8.  //入力データによって処理を分岐
  9.  switch(num){
  10.  case 1:     //平日の場合
  11.   printf("今日は仕事があります。");
  12.   break;
  13.  case 0:     //休日の場合
  14.   printf("今日は遊びに行きましょう。");
  15.   break;
  16.  default:     //その他の場合
  17.   printf("今日は家でおとなしくしていましょう。");
  18.   break;
  19.  }
  20.  return 0;
  21. }

○ フローチャート


○ 実行結果

平日は1を、休日は0を入力してください:1
今日は仕事があります。
--------------------------------------------------------------------------------------------------------------------
平日は1を、休日は0を入力してください:0
今日は遊びに行きましょう。
--------------------------------------------------------------------------------------------------------------------
平日は1を、休日は0を入力してください:3
今日は家でおとなしくしていましょう。

○ 解説

 12行目で、入力したデータを評価対象としてswitch文にセットします。そのデータを複数のcaseで比較していきます。もしいずれのcaseにも当てはまらなかったら「default」の部分が実行されます。また、この「default」は省略することもできます。 switch文はint型の値を判定することができます。

前へ   次へ