C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

SwitchステートメントC++

C++でSwitchステートメントを使用する方法

条件文は、すべてのプログラミング言語に共通の機能です。これらのステートメントは、プログラムのフローを制御し、特定のコードブロックをいつ実行するかを指定するために使用されます。

C++で使用される主な条件ステートメントはif およびif … else ステートメント。さらに、C++はswitchを提供します 声明。このステートメントは、複数の潜在的なケースに対して式を評価し、式がそのブロックの対応するケースと一致する場合、コードのブロックを実行します。 switchステートメントはifと同様に動作します 多くのif … elseを含むステートメント ステートメント。

このチュートリアルでは、例を含めて、C++でswitchステートメントを使用する方法について説明します。 breakの使用方法についても説明します 、およびdefault switchステートメントを含むキーワード。このガイドを読むと、C++のswitchステートメントの使用に精通することになります。

C++条件ステートメント

ifのような条件文 およびif … else プログラムで決定を下すために使用されます。たとえば、 if ステートメントは、ユーザーが16歳以上の場合、または水曜日の場合に、コードのブロックを実行するようにプログラムに指示することができます。

if およびif … else ステートメントは、条件ステートメントの最も一般的な形式です。 if およびif … else 条件が真の場合、ステートメントはコードのブロックを実行します。そうでなければ、彼らは何もしません。これがC++の例ですif ステートメント:

int age = 15;

if (age > 16) {
	cout<<"This user is over the age of 16."
}

この例では、コードは変数ageが16より大きいかどうかを評価します。大きい場合、文This user is over the age of 16 。コンソールに出力されます。そうでなければ、何も起こりません。この場合、ユーザーは15歳なので、age > 16 falseと評価されます。したがって、プログラムは ifに関連付けられたコードを実行しません。 ステートメント。

しかし、複数の条件に対して評価したい場合はどうでしょうか?

そこでswitchステートメントが登場します。if … elseを使用できますが ifの複数の条件を評価するステートメント ステートメント、このアプローチは非効率的であり、コードを読みにくくする可能性があります。そのため、開発者は、switchステートメントを使用して、複数の潜在的なケースに対してステートメントを評価することがよくあります。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

C++のswitchステートメント

switchステートメント。switch … caseとも呼ばれます。 ステートメントを使用すると、式が複数のケースの1つに等しいかどうかを確認できます。記述された式がスイッチブロックのケースの1つと一致する(つまり、等しい)場合、そのケースに関連付けられた特定のコードが実行されます。

switchステートメントには1つ以上のcaseステートメントが含まれています。プログラムはcaseステートメントを使用して、ターゲット式を評価する条件を宣言します。

switchステートメントは、括弧で囲まれたテストする式と、式を評価する1つ以上のケースを受け入れます。これらのケースは中括弧で囲まれています。

C++のswitchステートメントの構文は次のとおりです。

switch (expression) {
	case firstCase:
		// Code to be executed if expression matches firstCase
		break;
	case secondCase:
		// Code to be executed if expression matches secondCase
		break;
	default:
		// Code to be executed if no expressions are met
	}
}

上記のC++でのswitchステートメントのロジックは次のとおりです。

  1. プログラムは式を評価します。
  2. 式はfirstCaseと比較されます。これらが一致する場合、プログラムはfirstCaseブロックのコードを実行します。次に、breakキーワードが実行され、スイッチブロックが終了します。

:この記事の後のセクションでbreakキーワードについて説明します。基本的に、このキーワードは、現在のスイッチブロックを超えて先に進むようにプログラムに指示します。

  1. 式がfirstCaseと一致しない場合、式はsecondCaseと比較されます。
  2. 式がsecondCaseと一致する場合、プログラムはsecondCaseブロック内のコードを実行し、breakステートメントはスイッチブロックを終了します。
  3. 式がswitchブロックのどのcaseとも一致しない場合、プログラムはデフォルトのcaseステートメントの内容を実行します。

:この記事の後のセクションで、switchステートメントに関連するデフォルトステートメントの概念について説明します。 defaultは、switchブロック内のcaseステートメントのいずれも式に一致しない場合の処理​​をプログラムに指示するキーワードです。

switchステートメントでは、プログラムは最初に最初のケースを評価します。それがtrueと評価されない場合、プログラムは、条件が満たされるまで、またはすべての条件が評価されるまで、後続のケースを評価します。

C++スイッチの例

C ++でswitchステートメントがどのように機能するかを調べるために、例を段階的に見ていきましょう。

週末までの残り日数を通知するプログラムを作成しているとします。このプログラムでは、曜日は整数で表されます。たとえば、月曜日は1、火曜日は2、水曜日は3というようになります。

このプログラムは、現在の曜日(整数で表される)を取得し、それを一連のケースと比較します。いずれの場合も、現在の平日に基づいて、週末までの残り日数を示す文を印刷するようにプログラムに指示します。

このタスクを実行するために使用できるコードは次のとおりです。

#include <iostream>

include namespace std;

int main() {
	int dayOfWeek = 3;

	switch (dayOfWeek) {
		case 1:
			cout<<"There are 5 days until the weekend!";
			break;
		case 2:
			cout<<"There are 4 days until the weekend!";
			break;
		case 3:
			cout<<"There are 3 days until the weekend!";
			break;
		case 4:
			cout<<"There are 2 days until the weekend!";
			break;
		case 5:
			cout<<"There is 1 day until the weekend!";
			break;
	}
}

コードは次のようになります:

There are 3 days until the weekend.

コードを分解してみましょう。まず、現在の曜日を整数として格納するdayOfWeekという変数を宣言します。次に、5つのケースを指定するswitchステートメントを使用します。

まず、プログラムはdayOfWeekが1に等しいかどうかを確認します。等しい場合、プログラムはThere are 5 days until the weekend!を出力します。 コンソールに送られ、その後、switchステートメントから抜け出します。

dayOfWeekが1に等しくない場合、プログラムは次のケースを評価します。これは、プログラムがswitchステートメントのすべてのケースを評価するまで続きます。ただし、ケースの1つがtrueと評価された場合を除き、その時点でbreakステートメントが実行され、loopswitchステートメントが終了します。

この例では、曜日は3であると述べました。これは、水曜日であることを意味します。その結果、プログラムはThere are 3 days until the weekend!を出力します。 コンソールに。次に、プログラムはコードのスイッチブロックを終了し、メインプログラムの実行を続行します。

C++ブレーク

C ++のswitchステートメントは通常、上記の例で行ったように、それぞれの場合にbreakキーワードを使用します。プログラムがbreakステートメントを実行すると、特定のブロック内のコードは実行を停止し、プログラムの残りの部分は実行を継続します。

breakステートメントは、プログラムがswitchステートメントの残りのケースを評価するのを停止するため、switchステートメントでよく使用されます。

上記の拡張例から抜粋した、switchステートメントのbreakキーワードの例を次に示します。

…
		case 3:
			cout<<"There are 3 days until the weekend!";
			break;
…

したがって、上記の例では、dayOfWeekが3に等しい場合、プログラムはbreakステートメントを実行して、それ以上のケースが評価されないようにします。 dayOfWeekが3に等しい場合、switchステートメントの次のケースである4または5に等しくすることはできないため、これは理にかなっています。

dayOfWeekが3の場合、メッセージThere are 3 days until the weekend! コンソールに出力されます。次に、breakステートメントがプログラムにswitchブロックを通過するように指示するため、switchステートメントは実行を停止します。

C++のデフォルト

C ++では、オプションのデフォルトのcaseキーワードは、ケースがtrueと評価されない場合の対処方法をコードに指示します。

上記の例では、コードは平日のみを考慮しています。したがって、すでに週末である場合、私たちのプログラムは何もしません。デフォルトのコードステートメントを使用すると、いずれのケースも満たされない場合にアクションを実行するようにコードに指示できます。

It’s the weekend!というメッセージを印刷したいとします。 土曜日または日曜日の場合はコンソールに送信します。上記のswitchステートメントの例と次のコードを使用して、このタスクを実行できます。

…
		case 5:
			cout<<"There is 1 day until the weekend!";
			break;
		default:
			cout<<"It's the weekend!";
			break;
…

このコードによると、dayOfWeekが指定したケースのいずれにも等しくない場合、つまり、dayOfWeekが6または7に等しい場合、デフォルトのステートメントの内容が実行されます。したがって、たとえば今日が土曜日の場合、次のメッセージがコンソールに出力されます。

It's the weekend!

結論

switchステートメントはC++で使用され、複数の可能な結果に対してステートメントを評価します。これらの式の1つがtrueと評価された場合、プログラムはその結果に関連付けられたコードを実行します。 trueと評価される式がない場合、プログラムは、指定されている場合、デフォルトのステートメントの内容を実行します。

このチュートリアルでは、C ++のswitchステートメントの使用方法とbreakの使用方法、およびswitchでのデフォルトのキーワードについて例を挙げて説明しました。これで、プロのようにコードでswitchステートメントを使い始める準備ができました!


  1. C++での意思決定

    意思決定構造では、プログラマーは、プログラムによって評価またはテストされる1つ以上の条件と、条件が真であると判断された場合に実行される1つまたは複数のステートメント、およびオプションで、条件が真である場合に実行される他のステートメントを指定する必要があります。偽であると判断されます。 以下は、ほとんどのプログラミング言語に見られる典型的な意思決定構造の一般的な形式です- If-Elseステートメント ifステートメントの後にオプションのelseステートメントを続けることができます。これは、ブール式がfalseの場合に実行されます。 C++でのif...elseステートメントの構文は-

  2. PHPのswitchステートメント

    はじめに プログラムが式の値を変化させるために異なるプロセスを実行する一連のifステートメントを必要とする場合、独自のカーリーブラケットのセットを持つ各ifステートメントで非常に不器用になる可能性があります。ここでswtich-caseを使用します 構築により、プログラムをコンパクトで読みやすくすることができます。 switch構文を使用すると、同じ変数(または式)を多くの異なる値と比較し、等しい値に応じて異なるコードを実行することができます。 構文 switch (expr) {    case val1:       code to be