Priporočena, 2024

Izbira Urednika

Razlika med if-else in preklopom

"If-else" in "switch" sta izbirni stavki. Izbirni stavki prenesejo tok programa v določen blok stavkov, ki temelji na tem, ali je pogoj »true« ali »false«. Temeljna razlika med stavkom if-else in switch je, da izjava if-else »izbere izvršitev izjav, ki temeljijo na oceni izraza v if izjavah«. Stavek switch "izbere izvajanje stavka, ki pogosto temelji na ukazu tipkovnice".

Primerjalna tabela

Podlaga za primerjavoče potemstikalo
OsnovnoKateri stavek bo izvršen, je odvisen od izhoda izraza znotraj if.Katero izjavo bo izvršil uporabnik.
IzrazIzjava if-else uporablja več stavkov za več izbir.Stavek switch uporablja en sam izraz za več izbir.
Testiranjeif-else stavek test za enakost kot tudi za logični izraz.preizkus stikalnega stavka samo za enakost.
Vrednotenjeif stavek vrednoti celo število, znak, kazalec ali vrsto s plavajočo vejico ali logični tip.stavek prekriva samo vrednost znaka ali celo število.
Zaporedje izvršitveČe se izvrši izjava ali pa se izvrši stavek.preklopni stavek izvede en primer za drugim, dokler se ne prikaže prekinitveni stavek ali dokler ne doseže konca stikalnega stavka.
Privzeta izvedbaČe je pogoj znotraj, če so stavki napačni, potem se privzeto izvede stavek else, če je ustvarjen.Če se pogoj znotraj stavkov stikal ne ujema z nobenim od primerov, se za ta primerek izvedejo privzeti stavki, če so ustvarjeni.
UrejanjeStavek if-else je težko urediti, če uporabimo ugnezdeni if-else stavek.Preprosto urejanje primerov preklapljanja je preprostih.

Opredelitev if-else

Stavki if-else pripadajo izbirnim stavkom v OOP. Splošna oblika izjav if-else je naslednja

 if (izraz) {stavek (s)} else {stavek (-i)} 

kjer sta »if« in »else« ključne besede, izjave pa lahko predstavljajo posamezen stavek ali blok stavkov. Izraz se oceni kot »true« za katero koli vrednost, ki ni nič, in za nič izračuna, da je »false«.
Izraz v stavku if lahko vsebuje celo število, znak, kazalec, plavajočo vejico ali pa boolejski tip. Stavek else ni obvezen v stavku if-else. Če izraz vrne true, se izvedejo stavki znotraj, če se izvrši stavek, in če vrne false, se podajajo stavki znotraj else, v primeru, da stavek else ni ustvarjen, se ne izvede nobeno dejanje in nadzor nad programom skoči ven izjave if-else.

Dovolite nam, da razumemo z zgledom.

 int i = 45, j = 34; če (i == 45 & j == 34) {cout << "i izberete temno čokolado"; odmor; primer 2: cout << "izberete sladkarije"; odmor; primer 3: cout << "izberete lizik"; odmor; . . privzeto cout << "ne izberete nič"; } 

Tu se bo vrednost "i" odločila, kateri primer naj se izvede, če uporabnik poda vrednost "i", razen 1, 2 ali 3, potem se izvede privzeti primer.

Ključne razlike med if-drugo in preklopom

  1. Izraz znotraj if, če se stavek odloči, ali naj izvrši stavke znotraj bloka ali bloka else. Po drugi strani pa izraz znotraj stikalnega stavka odloča, kateri primer bo izveden.
  2. Imate lahko več stavkov if za večkratno izbiro stavkov. V stikalu imate samo en izraz za več izbir.
  3. Stavek if-esle preverja enakost in logični izraz. Po drugi strani pa preklopite preverjanje samo na enakost.
  4. Stavek if ovrednoti celo število, znak, kazalec ali vrsto s plavajočo vejico ali logični tip. Po drugi strani pa stavek prekriva samo znak ali celo število podatkovnih tipov.
  5. Zaporedje izvršitve je tako kot izjava pod, če se bo izvršil blok ali se bodo izvršile izjave pod stavkom block. Po drugi strani izraz v stavku switch odloči, kateri primer naj se izvede in če ne uporabite preizkusa prekoračitve po vsakem primeru, ki se bo izvajal do konca stikalnega stavka.
  6. Če je izraz znotraj znotraj, če so izkazi lažni, se izvede izjava znotraj bloka else. Če se izraz znotraj stikalnega stavka izkaže za napačen, se izvedejo privzeti stavki.
  7. Težko je urediti stavke if-else, saj je dolgočasno slediti, kje je potreben popravek. Po drugi strani pa je preprosto urediti stikalne stavke, saj jih je enostavno slediti.

Sklep:

Stavek preklapljanja je enostavno urejati, ker je ustvaril ločene primere za različne stavke, medtem ko je v ugnezdenih stavkih if-else težko prepoznati stavke, ki jih je treba urejati.

Top