lüliti… ümbris C-s (lüliti avaldus C-s) koos näidetega

Mis on Switch Statement C-s?

Lülitage avaldus C-s testib muutuja väärtust ja võrdleb seda mitme juhtumiga. Kui juhtumi vaste on leitud, käivitatakse selle konkreetse juhtumiga seotud avalduste plokk.

Igal lüliti ploki juhtumil on erinev nimi/number, mida nimetatakse identifikaatoriks. Kasutaja antud väärtust võrreldakse kõigi lülitiploki sees olevate juhtudega, kuni vaste leitakse.

Kui tähtede vastet EI leita, siis käivitatakse vaikelause ja juhtseade läheb lülitiplokist välja.

Lülitage suurtähtede süntaks

Üldine süntaks selle kohta, kuidas C-programmis lülitustähte rakendatakse, on järgmine:

switch( expression )
{
	case value-1:
			Block-1;
			Break;
	case value-2:
			Block-2;
			Break;
	case value-n:
			Block-n;
			Break;
	default:
			Block-1;
			Break;
}
Statement-x;
  • Avaldis võib olla täisarvuline avaldis või märgiavaldis.
  • Väärtus-1, 2, n on juhtumisildid, mida kasutatakse iga juhtumi eraldi tuvastamiseks. Pidage meeles, et suurtähtede sildid ei tohiks olla samad, kuna see võib programmi käivitamisel probleeme tekitada. Oletame, et meil on kaks juhtumit, millel on sama silt kui „1”. Seejärel käivitatakse programmi täitmise ajal esmalt ilmuv juhtum, kuigi soovite, et programm käivitaks teist juhtumit. See tekitab programmis probleeme ja ei anna soovitud väljundit.
  • Juhtumisildid lõpevad alati kooloniga ( : ). Kõik need juhtumid on seotud plokiga.
  • Plokk pole midagi muud kui mitu avaldust, mis on rühmitatud konkreetse juhtumi jaoks.
  • Kui lüliti käivitatakse, võrreldakse test-avaldise väärtust kõigi juhtudega, mille oleme lüliti sees määratlenud. Oletame, et testavaldis sisaldab väärtust 4. Seda väärtust võrreldakse kõigi juhtumitega kuni juhtumini, mille silt neli programmis leitakse. Niipea kui juhtum leitakse, käivitatakse selle konkreetse juhtumiga seotud avalduste plokk ja juhtimine väljub lülitist.
  • Katkestatav märksõna tähistab igal juhul konkreetse juhtumi lõppu. Kui me pausi ei pane igal juhul, siis kuigi konkreetne juhtum on täidetud, jätkab C lüliti kõigi juhtumite täitmist kuni lõpuni. Seda ei tohiks juhtuda; seetõttu peame alati igal juhul panema murdemärksõna. Break lõpetab juhtumi pärast selle käivitamist ja juhtseade kukub lülitist välja.
  • Vaikejuht on valikuline. Kui test-avaldise väärtus ei ühti ühegi lüliti sees oleva juhtumiga, käivitatakse vaikeväärtus. Vastasel juhul pole lülitisse vaikimisi vaja kirjutada.
  • Kui lüliti on käivitatud, läheb juhtelement lause-x ja programmi täitmine jätkub.

Lüliti avalduse vooskeem

Järgmine diagramm illustreerib, kuidas lüliti korpuses korpus valitakse:

Lüliti avalduse vooskeem
Kuidas Switch töötab

Lüliti juhtumi näide C-s

Järgmine programm illustreerib lüliti kasutamist:

#include <stdio.h>
    int main() {
        int num = 8;
        switch (num) {
            case 7:
                printf("Value is 7");
                break;
            case 8:
                printf("Value is 8");
                break;
            case 9:
                printf("Value is 9");
                break;
            default:
                printf("Out of range");
                break;
        }
        return 0;
    }

Väljund:

Value is 8

Lüliti juhtumi näide C-s

  1. Antud programmis oleme selgitanud initsialiseeritud a muutuja arv väärtusega 8.
  2. Switchi konstruktsiooni kasutatakse muutujas num salvestatud väärtuse võrdlemiseks ja sobitatud juhtumiga seotud lausete ploki täitmiseks.
  3. Selles programmis, kuna muutujas num salvestatud väärtus on kaheksa, käivitab lüliti juhtumi, mille tähis on 8. Pärast juhtumi täitmist kukub juhtseade lülitist välja ja programm lõpetatakse eduka tulemusega väärtuse printimine väljundekraanile.

Proovige muuta muutuja num väärtust ja märgake muutust väljundis.

Näiteks vaatleme järgmist programmi, mis vaikeseade on:

#include <stdio.h>
int main() {
int language = 10;
  switch (language) {
  case 1:
    printf("C#\n");
    break;
  case 2:
    printf("C\n");
    break;
  case 3:
    printf("C++\n");
    break;
  default:
    printf("Other programming language\n");}}

Väljund:

Other programming language

Kui töötate C-s lüliti korpusega, rühmitate mitu juhtumit kordumatute siltidega. Peate igal juhul sisestama katkestuslause, et lüliti lause lõpus hargneda.

Valikuline vaikejuhtum töötab siis, kui muid vasteid ei tehta.

Võtame arvesse järgmist lüliti avaldust:

#include <stdio.h>
int main() {
int number=5;
switch (number) {
  case 1:
  case 2:
  case 3:
    printf("One, Two, or Three.\n");
    break;
  case 4:
  case 5:
  case 6:
    printf("Four, Five, or Six.\n");
    break;
  default:
    printf("Greater than Six.\n");}}

Väljund:

Four, Five, or Six.

Pesastatud lüliti C-s

In C, meil võib olla välimisse lülitisse integreeritud sisemine lüliti. Samuti võivad sisemise ja välimise lüliti juhtumikonstandid omada ühiseid väärtusi ja ilma konfliktideta.

Arvestame järgmise programmiga mille kasutaja sisestab oma ID, kui ID on kehtiv siis palub tal sisestada parool, kui parool on õige, prindib programm kasutaja nime, vastasel juhul trükib programm Vale Parool ja kui ID puudub, prindib programm välja vale ID

#include <stdio.h>
int main() {
        int ID = 500;
        int password = 000;
        printf("Plese Enter Your ID:\n ");
        scanf("%d", & ID);
        switch (ID) {
            case 500:
                printf("Enter your password:\n ");
                scanf("%d", & password);
                switch (password) {
                    case 000:
                        printf("Welcome Dear Programmer\n");
                        break;
                    default:
                        printf("incorrect password");
                        break;
                }
                break;
            default:
                printf("incorrect ID");
                break;
        }
}

Väljund:

Plese Enter Your ID:
 500
Enter your password:
 000
Welcome Dear Programmer

Pesastatud lüliti C-s

  1. Antud programmis oleme selgitanud lähtestatud kahte muutujat: ID ja parool
  2. Välislüliti konstruktsiooni kasutatakse muutuja ID-sse sisestatud väärtuse võrdlemiseks. See käivitab sobitatud juhtumiga seotud avalduste ploki (kui ID = = 500).
  3. Kui plokilause täidetakse sobitatud käändega, kasutatakse sisemist lülitit muutuja parooli sisestatud väärtuste võrdlemiseks ja sobitatud käändega seotud lausete täitmiseks (kui parool==000).
  4. Vastasel juhul käivitab lüliti suurtäht vaikejuhtumi ja prindib vastava teksti programmi kontuuri kohta.

Miks me vajame Switchi korpust?

Sellega on üks võimalik probleem kui-muidu avaldus mis tähendab, et programmi keerukus suureneb alati, kui alternatiivsete teekondade arv suureneb. Kui kasutate programmis mitut if-else konstruktsiooni, võib programmi olla raske lugeda ja mõista. Mõnikord võib see isegi segadusse ajada arendaja, kes ise programmi kirjutas.

Selle probleemi lahendus on lüliti avaldus.

Vahetusavalduse reeglid

  • Avaldis peab alati täitma tulemuse.
  • Juhtumisildid peavad olema konstantsed ja kordumatud.
  • Juhtumisildid peavad lõppema kooloniga ( : ).
  • Katkestatav märksõna peab olema igal juhul olemas.
  • Vaikimisi saab olla ainult üks.
  • Saame pesastada mitu lülitilauset.

kokkuvõte

  • Lüliti on otsuste tegemise konstruktsioonC. "
  • Lülitit kasutatakse programmis, kus on kaasatud mitu otsust.
  • Lüliti peab sisaldama käivitatavat test-avaldist.
  • Iga juhtum peab sisaldama murdemärksõna.
  • Juhtumi silt peab olema konstantne ja kordumatu.
  • Vaikimisi on valikuline.
  • Mitu lülitilauset saab üksteise sisse pesastada.