Skirtumas tarp jei ir kita ir perjungti

Autorius: Laura McKinney
Kūrybos Data: 3 Balandis 2021
Atnaujinimo Data: 5 Gegužė 2024
Anonim
Ukrainos tiesa – ko jie nenori, kad jūs žinotumėte! Tikroji konflikto priežastis
Video.: Ukrainos tiesa – ko jie nenori, kad jūs žinotumėte! Tikroji konflikto priežastis

Turinys


„Jei dar“ ir „perjungti“, tai yra atrankos teiginiai. Atrankos teiginiai perkelia programos srautą į tam tikrą teiginių bloką, atsižvelgiant į tai, ar sąlyga „teisinga“, ar „klaidinga“. Esminis skirtumas tarp teiginių, jei yra kitas, ir jungiamųjų teiginių yra tas, kad teiginys, jei daroma, „pasirenka teiginių vykdymą remdamasis išraiškos if teiginiais įvertinimu“. Perjungimo teiginiai „pasirenka pareiškimo vykdymą, dažnai pagrįstą klaviatūros komanda“.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasjei kitaipjungiklis
PagrindinisKuris teiginys bus vykdomas, priklauso nuo išraiškos išvesties, jei teiginys bus išvedamas.Kuris pareiškimas bus įvykdytas, nusprendžia vartotojas.
Išraiška„if-else“ sakinys naudoja kelis teiginius keliems pasirinkimams.jungiklio teiginys naudoja vieną išraišką keliems pasirinkimams.
Testavimasif-else teiginio testas lygybei ir loginei išraiškai.perjungti teiginių testą tik lygybei.
Vertinimasjei sakinyje įvertinamas sveikasis skaičius, simbolis, rodyklė arba slankiojo kablelio tipas arba boolean tipas.jungiklio teiginys įvertina tik simbolio ar sveikojo skaičiaus reikšmes.
Vykdymo sekaArba, jei pranešimas bus įvykdytas, arba kitas - bus vykdomas.„switch“ sakinys vykdo vieną atvejį po kito, kol pasirodo pertraukos sakinys arba pasiekiama keitimo sakinio pabaiga.
Numatytasis vykdymasJei sąlyga, kad teiginiai yra klaidingi, tada pagal nutylėjimą kitas teiginys vykdomas, jei jis sukurtas.Jei sąlyga jungiklio sakiniuose neatitinka nė vieno atvejo, tokiu atveju numatytieji teiginiai vykdomi, jei jie sukurti.
RedagavimasSunku redaguoti „if-else“ sakinį, jei naudojamas įdėtasis „if-else“ sakinys.Lengva redaguoti perjungimo atvejus, nes jie lengvai atpažįstami.

„If-else“ apibrėžimas

„If-else“ teiginiai priklauso OOP atrankos teiginiams. Bendroji teiginių, jei yra kita, forma yra tokia


if (išraiška) {pareiškimas (-ai)} dar {teiginys (-ai)}

kur „jei“ ir „dar“ yra raktiniai žodžiai, o teiginiai gali būti vienas teiginys arba teiginių blokas. Išraiška įvertinama kaip „tikra“ bet kuriai ne nulinei vertei, o nulinei ji įvertinama kaip „klaidinga“.
Išraiškos if sakinyje gali būti sveikasis skaičius, simbolis, rodyklė, slankusis taškas arba ji gali būti boolean tipo. „Kita“ teiginys yra neprivalomas teiginyje „kitas“. Jei išraiška grįžta tiesai, teiginiai, esantys pareiškimo viduje, jei jis vykdomas, o jei grąžina klaidingą, - teiginiai, esantys kito teiginio viduje, yra vykdomi ir, jei kitas teiginys nėra sukurtas, jokie veiksmai neatliekami, o programos valdymas išsiveržia. jei būtų kitaip teiginio.

Leiskite mums suprasti pavyzdžiu.

int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i =" <

Jungiklio apibrėžimas

Perjungimo teiginiai yra kelių pasirinkimų pasirinkimas. Bendra pranešimo apie mainus forma yra tokia

jungiklis (išraiška) {atvejo konstanta1: teiginys (-ai); pertrauka; atvejo konstanta2: teiginys (-ai); pertrauka; atvejo konstanta3: teiginys (-ai); pertrauka; . . įsipareigojimų nevykdymo pareiškimas (-ai); }

Kur išraiška įvertina sveikąjį skaičių arba simbolių konstantas. Išraiška čia vertinama tik už lygybę. Išraiška patikrinama atsižvelgiant į konstantas, esančias bylos teiginiuose. Jei randama atitiktis, su tuo atveju susiję teiginiai vykdomi, kol įvyksta „pertrauka“. Kadangi pertraukos pareiškimas neprivalomas bylos teiginiuose, jei pertraukos pareiškimo nėra, vykdymas nesustoja iki perjungimo teiginio pabaigos.
Išraišką sudaro tik viena išraiška. Perjungimo teiginyje dažnai naudojama klaviatūros komanda, kad būtų galima pasirinkti vieną iš daugelio atvejų teiginių.

int c; cout << "pasirinkite reikšmę nuo 1 iki 3"; cin >> i; jungiklis (i) {1 atvejis: cout << "jūs pasirenkate tamsią šokoladą"; pertrauka; 2 atvejis: cout << „pasirinkote saldainį“; pertrauka; 3 atvejis: cout << „jūs pasirenkate lollypop“; pertrauka; . . numatytasis cout << "nieko nesirenki"; }

„I“ reikšmė lems, kuris atvejis bus vykdomas, jei vartotojas nurodo „i“ reikšmę, išskyrus 1, 2 arba 3, tada vykdomas numatytasis atvejis.

  1. Išraiška sakinio viduje nusprendžia, ar vykdyti sakinius bloke, ar bloke. Kita vertus, išraiška jungiklio sakinyje nusprendžia, kurį atvejį vykdyti.
  2. Jei norite pasirinkti kelis teiginius, galite turėti kelis, jei teiginius. Savo ruožtu jūs turite tik vieną išraišką keliems pasirinkimams.
  3. „If-esle“ sakinys patikrina lygybę ir loginę išraišką. Kita vertus, perjunkite tikrinimus tik dėl lygybės.
  4. Jei teiginyje įvertinamas sveikasis skaičius, simbolis, rodyklė arba slankiojo kablelio tipas arba loginis tipas. Kita vertus, jungiklio teiginyje vertinamas tik simbolis arba sveikasis duomenų tipas.
  5. Vykdymo seka yra tokia pati kaip sakinys, esantis, jei blokas vykdys, arba sakiniai, esantys kitoje bloko sakinyje. Kita vertus, posakio „posakis“ išraiška nusprendžia, kurį atvejį vykdyti, o jei netaikysite pertraukos pareiškimo po kiekvieno atvejo, jis bus vykdomas iki pranešimo apie jungtį pabaigos.
  6. Jei išraiška viduje pasirodys klaidinga, bus vykdomas teiginys kitoje bloko dalyje. Jei išraiška jungiklio teiginyje yra klaidinga, tada vykdomi numatytieji teiginiai.
  7. Sunku redaguoti teiginius, jei yra, nes sunku atsekti, kur reikia taisyti. Kita vertus, lengva redaguoti jungiklio teiginius, nes juos lengva atsekti.

Išvada:

Perjungimo teiginį lengva redaguoti, nes jis sukūrė atskirus atvejus skirtingiems teiginiams, tuo tarpu įdėtuose „if-else“ sakiniuose tampa sunku nustatyti taisytinus teiginius.