C言語ホーム > switch文前ページ次ページ
サイト内検索:

C言語のswitch文について

C言語では条件によって処理を変えたい時にswitch文を使用します。このページではswitch文の構文を例を挙げて説明します。

switch文

switch文は、ある式が、複数の定整数値と一致しているか比較し、一致していたらそれに対応した処理を行うという文です。書式は以下のとおりです。


switch (式) {
	case 定数式: 文;
	case 定数式: 文;
	default: 文;
}

各caseは、整数の定数式とともにラベル付けされます。式と定数式が一致していたら文が実行されます。defaultは、他のどのcaseにも一致しなかった場合に対応します。defaultはなくてもかまいません。caseとdefaultの順序は任意です。



caseは、単にラベルとして働きます。ですので、ひとつのcaseに対応する処理が終了した時にswitch文から抜け出す処理を行わないと、その次に書いてある処理が実行されてしまいます。したがって、通常はcase文の処理の最後にはbreakを置きます。


switch (式) {
	case 定数式:
		文;
		文;
		:
		break;
	case 定数式:
		文;
		文;
		:
		break;
	default:
		文;
		文;
		:
}

switch文の例

いくつか例を挙げてswitch文の動きを確認します。


switch (式) {
	case 0:
		文A;
		break;
	case 1:
		文B;
		break;
	default:
		文C;
		break;
}

上記の場合、式の値が0なら文Aのみ実行されます。1なら文Bのみ、その他なら文Cのみ実行されます。


switch (式) {
	case 0:
	case 1:
		文A;
		文B;
		break;
	default:
		文C;
		break;
}

上記の場合、式の値が0なら文Aと文Bが実行されます。1でも文Aと文Bが実行されます。その他なら文Cのみ実行されます。


switch (式) {
	default:
	case 0:
		文A;
		break;
	case 1:
		文B;
		break;
	case 2:
		文C;
		break;
}

上記の場合、式の値が1なら文Bが実行されます。2なら文Cが実行されます。それ以外なら文Aが実行されます。

C言語ホーム > switch文前ページ次ページ
© 2009 C言語サイト管理人