C schakelaar Verklaring:
C switch-statement
In deze tutorial leer je om met behulp van een voorbeeld de switch-instructie in C-programmering te maken.
De switch-instructie stelt ons in staat om één codeblok uit vele alternatieven uit te voeren.
U kunt hetzelfde doen met de if...else..if
ladder. De syntaxis van de switch
verklaring is veel gemakkelijker te lezen en te schrijven.
Syntaxis van switch...case
switch (expression)
{
case constant1:
// statements
break;
case constant2:
// statements
break;
.
.
.
default:
// default statements
}
Hoe werkt de switch-instructie?
De uitdrukking wordt één keer geëvalueerd en vergeleken met de waarden van elk geval label.
- Als er een overeenkomst is, worden de bijbehorende instructies na het overeenkomende label uitgevoerd. Als de waarde van de uitdrukking bijvoorbeeld gelijk is aan constant2 , uitspraken na
case constant2:
worden uitgevoerd totbreak
wordt aangetroffen. - Als er geen overeenkomst is, worden de standaardinstructies uitgevoerd.
Opmerkingen:
- Als we de
break
. niet gebruiken statement, worden alle statements na het overeenkomende label ook uitgevoerd. - De
default
clausule binnen deswitch
verklaring is optioneel.
switch Statement-stroomdiagram
Voorbeeld:eenvoudige rekenmachine
// Program to create a simple calculator
#include <stdio.h>
int main() {
char operation;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operation);
printf("Enter two operands: ");
scanf("%lf %lf",&n1, &n2);
switch(operation)
{
case '+':
printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2);
break;
// operator doesn't match any case constant +, -, *, /
default:
printf("Error! operator is not correct");
}
return 0;
}
Uitvoer
Enter an operator (+, -, *, /): - Enter two operands: 32.5 12.4 32.5 - 12.4 = 20.1
De - operator ingevoerd door de gebruiker wordt opgeslagen in de bewerking variabel. En, twee operanden 32.5 en 12,4 worden opgeslagen in variabelen n1 en n2 respectievelijk.
Sinds de operatie is -
, de besturing van het programma springt naar
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
Ten slotte beëindigt de break-instructie de switch
verklaring.
C Taal