おぼえがき

過ちては則ち改むるにうんぬんかんぬん

switch文について(C言語)

f:id:feci:20210810151051j:plain

C11

 

C11のswitch文について。

#include <stdio.h>

void main() {
  int aaa;  //int型変数の宣言
  printf("1か4か9を入力してください。");
  scanf("%d"&aaa);      //値の入力と変数aaaの初期化
  switch (aaa) {
  case 1:
    printf("いち\n");   //aaaが1のときに実行
    break;              //プログラムの終了
  case 4:
    printf("よん\n");   //aaaが4のときに実行
    break;              //プログラムの終了
  case 9:
    printf("きゅう\n"); //aaaが9のときに実行
    break;              //プログラムの終了
  default:
    printf("なんで言われたとおりにしないの?\n"); //caseにない値のときに実行
    break;                                        //プログラムの終了
  }
}

switch文はif文のような分岐の処理を作るための構文です。

 

 

switch文の定形は以下のとおりです。

 

switch (仮引数) {
case 〇〇:
    この条件を満たした際に実行したい処理;
    break;
case 〇〇:
    この条件を満たした際に実行したい処理;
    break;
default:
    上行のcaseを1つも満たさなかった際に実行したい処理;
    break;
}

 

 

switch文の仮引数に指定する値は、int型でもfloat型でもchar型でもなんでもいいみたいです。

 

caseの〇〇の部分には整数を記述します。

caseに指定できる値は整数のみです。

仮引数の値がcaseに指定した値と==であったときに、そのcaseから始まるswitch文内のすべての処理が実行されます。

 

breakを使うことで、その場所でswitch文の処理を終了させることができます。

なのでもしbreakを記述していないと、その下の行のcaseやdefaultの処理まですべて実行されてしまいます。

 

defaultはif文でいうところのelseのような機能を持っています。

defaultに記述した処理は、同switch文内のすべてのcaseに引数が該当しなかった場合に実行されます。

 

 

以上です。