74 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Switch Statement
 | ||
| ---
 | ||
| 
 | ||
| A switch statement allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case.
 | ||
| 
 | ||
| Syntax:
 | ||
| switch(expression) {
 | ||
|    case constant-expression  :
 | ||
|       statement(s);
 | ||
|       break; //optional
 | ||
|    case constant-expression  :
 | ||
|       statement(s);
 | ||
|       break; //optional
 | ||
| 
 | ||
|    // you can have any number of case statements.
 | ||
|    default : //Optional
 | ||
|       statement(s);
 | ||
| }
 | ||
| 
 | ||
| The following rules apply to a switch statement −
 | ||
| 
 | ||
| The expression used in a switch statement must have an integral or enumerated type, or be of a class type in which the class has a single conversion function to an integral or enumerated type.
 | ||
| 
 | ||
| You can have any number of case statements within a switch. Each case is followed by the value to be compared to and a colon.
 | ||
| 
 | ||
| The constant-expression for a case must be the same data type as the variable in the switch, and it must be a constant or a literal.
 | ||
| 
 | ||
| When the variable being switched on is equal to a case, the statements following that case will execute until a break statement is reached.
 | ||
| 
 | ||
| When a break statement is reached, the switch terminates, and the flow of control jumps to the next line following the switch statement.
 | ||
| 
 | ||
| Not every case needs to contain a break. If no break appears, the flow of control will fall through to subsequent cases until a break is reached.
 | ||
| 
 | ||
| A switch statement can have an optional default case, which must appear at the end of the switch. The default case can be used for performing a task when none of the cases is true. No break is needed in the default case.
 | ||
| 
 | ||
| Example:
 | ||
| ```C++
 | ||
| #include <iostream>
 | ||
| using namespace std;
 | ||
| 
 | ||
| int main () {
 | ||
|    // local variable declaration:
 | ||
|    char grade = 'D';
 | ||
| 
 | ||
|    switch(grade) {
 | ||
|       case 'A' :
 | ||
|          cout << "Excellent!" << endl;
 | ||
|          break;
 | ||
|       case 'B' :
 | ||
|       case 'C' :
 | ||
|          cout << "Well done" << endl;
 | ||
|          break;
 | ||
|       case 'D' :
 | ||
|          cout << "You passed" << endl;
 | ||
|          break;
 | ||
|       case 'F' :
 | ||
|          cout << "Better try again" << endl;
 | ||
|          break;
 | ||
|       default :
 | ||
|          cout << "Invalid grade" << endl;
 | ||
|    }
 | ||
|    cout << "Your grade is " << grade << endl;
 | ||
| 
 | ||
|    return 0;
 | ||
| }```
 | ||
| 
 | ||
| Output:
 | ||
| You passed
 | ||
| Your grade is D
 | ||
| 
 | ||
| ###Sources
 | ||
| https://www.tutorialspoint.com
 |