Istruzione switch in C ++ - Come funziona - Sintassi ed esempi

Sommario:

Anonim

Che cos'è un'istruzione Switch in C ++?

Le istruzioni case switch sono istruzioni controllate che vengono considerate sostitutive delle istruzioni if-else. È un'istruzione di diramazione a più vie che fornisce un modo per organizzare il flusso di esecuzione verso parti del codice in base al valore dell'espressione. In un termine molto semplice, un'istruzione switch valuta un'espressione, la verifica e la confronta con i diversi casi scritti nel codice. Non appena viene trovata una corrispondenza con qualsiasi caso, il controllo inserirà quel caso e inizierà a eseguire le istruzioni scritte in quel caso fino a quando non viene trovata una dichiarazione di interruzione. Non appena appare un'istruzione break, l'istruzione switch termina e il controllo del programma esce da switch.

A volte può capitare che nessun caso corrisponda al valore dell'espressione. Per tali casi, menzioniamo un caso predefinito che verrà sempre eseguito nel caso in cui non venga trovata alcuna corrispondenza. I casi in un blocco di un'istruzione switch sono rappresentati da numeri o stringhe diverse, noto come identificatore. Il valore dell'espressione o il valore fornito dall'utente viene confrontato con questi casi fino a quando non viene trovata la corrispondenza.

Sintassi dell'istruzione switch C ++

Di seguito la sintassi per l'istruzione switch nel linguaggio di programmazione C ++

switch( expression )
(
case value1:
//Block of code;
break;
case value2:
//Block of code;
break;
case valueN:
//Block of code
break;
default:
//Block of code
break;

È necessario tenere presente quanto segue quando si utilizza un'istruzione Switch:

  1. Le etichette maiuscole possono essere un numero intero o un carattere e devono essere univoche
  2. Le etichette dei casi finiscono sempre con un punto e virgola.
  3. Anche se un'etichetta del caso predefinita non è obbligatoria, al massimo può essere una se definita.
  4. È necessaria un'istruzione break per togliere il controllo dal loop, altrimenti tutti i casi prima che venga eseguita un'interruzione.
  5. L'etichetta del caso predefinito non ha alcuna posizione specifica.
  6. L'istruzione switch può anche essere nidificata.

Diagramma di flusso dell'istruzione Switch

Come funziona Switch Statement in C ++?

Cerchiamo di capire il flusso di controllo rappresentato nel diagramma di flusso sopra per ottenere una migliore comprensione del flusso di esecuzione.

Viene passata un'espressione con l'istruzione switch che è uguale a uno dei valori dei casi. Nel caso in cui il valore non sia uguale, viene eseguito il caso predefinito. Il valore di questa espressione viene quindi confrontato con l'identificatore del caso o il primo caso. Se il primo caso corrisponde, viene eseguito il blocco di codice associato al primo caso. Una volta riscontrata l'interruzione, l'esecuzione si interrompe e si esce dall'istruzione switch. Tuttavia, se il caso non corrisponde, l'esecuzione passa al caso successivo. Se questo caso corrisponde, quindi il secondo blocco di codice viene eseguito diversamente, il flusso controlla il caso successivo in modo simile. Infine, se nessun caso corrisponde, viene eseguito il blocco di codice predefinito.

Esempi di istruzione Switch in C ++

Vediamo alcuni degli esempi dell'istruzione switch in C ++.

Esempio 1

Questo esempio darà più chiarezza sull'uso delle istruzioni switch.

#include
using namespace std;
int main () (
char grade_report = 'D';
cout << "Your performance is: " << endl;
switch(grade_report) (
case 'A' :
cout << "Outstanding Result!\n" << endl;
break;
case 'B' :
cout << "Excellent Result!\n" << endl;
break;
case 'C' :
cout << "Good Result\n" << endl;
break;
case 'D' :
cout << "Satisfying Result\n" << endl;
break;
case 'F' :
cout << "Poor Result\n" << endl;
break;
default :
cout << "You did not appear for exam\n" << endl;
)
return 0;
)

Produzione:

La tua performance è: risultato soddisfacente

Esempio n. 2

Questo esempio illustra l'utilizzo dell'istruzione break in uno switch. Se l'istruzione break non viene specificata dopo il caso, il flusso di esecuzione continuerà fino a quando non incontra l'istruzione break.

#include
using namespace std;
int main() (
int range_of_number=50;
switch (range_of_number) (
case 10:
case 20:
case 30:
cout << "The number is 10 or 20 or 30 " << endl;
break;
case 50:
case 55:cout << "This case also executes because there is no break " << endl;
cout << "\n" << endl;
case 60:
cout << "The number is either 40 or 50 or 60" << endl;
break;
default:
cout << "The number is greater than 60" << endl; ))

Produzione:

Questo caso viene eseguito anche perché non c'è interruzione
Il numero è 40 o 50 o 60

Esempio n. 3

#include
using namespace std;
int main()
(
int x = 10, y = 5;
switch(x==y && x+y<10)
(
case 1:
cout << "hi" << endl;
break;
case 0:
cout << "bye" << endl;
break;
default:
cout << " Hello bye " << endl;
))

Produzione:

Ciao

Esempio n. 4

Dichiarazione switch nidificato

#include
using namespace std;
int main() (
int ID = 300;
int password = 1000;
cout << "Enter Your ID:\n " << endl;
scanf("%d", & ID);
switch (ID) (
case 300:
cout << "Enter your password:\n " << endl;
scanf("%d", & password);
switch (password) (
case 1000:
cout << "Welcome to the portal\n" << endl;
break;
default:
cout << "Enter correct password" << endl;
break;
)
break;
default:
cout << "Enter correct ID" << endl;
break;
))

Produzione:

Ciò dipenderà dai valori immessi dall'utente.

Uscita 1:

Inserisci il tuo ID: 300
Inserisci la tua password: 1000
Benvenuti nel portale

Uscita 2:

Inserisci il tuo ID: 100
Inserisci l'ID corretto

Uscita 3:

Inserisci il tuo ID: 300
Inserisci la tua password: 000
Inserisci la password corretta

Conclusione

È necessario sapere che il flusso e la funzionalità di base dell'istruzione switch rimangono gli stessi in tutti i linguaggi di programmazione. La differenza può essere vista solo nella sintassi generale basata sul linguaggio di programmazione utilizzato.

Articoli consigliati

Questa è stata una guida all'istruzione Switch in C ++. Qui discutiamo il concetto, la sintassi, il funzionamento e gli esempi dell'istruzione Switch in C ++. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Funzioni stringa C ++
  2. Che cos'è la classe template in C ++?
  3. Applicazioni del C ++ nel mondo reale
  4. Guida all'istruzione case in Java
  5. Guida all'istruzione switch PHP