Diferența dintre altceva și comutator

Autor: Laura McKinney
Data Creației: 3 Aprilie 2021
Data Actualizării: 5 Mai 2024
Anonim
Eu pot!: Care este diferenţa dintre influenţele psihologice şi bagajele emoţionale {TVR1)
Video: Eu pot!: Care este diferenţa dintre influenţele psihologice şi bagajele emoţionale {TVR1)

Conţinut


„If-else” și „switch” sunt ambele instrucțiuni de selecție. Instrucțiunile de selecție transferă fluxul programului în blocul particular de declarații, în funcție de condiția „adevărată” sau „falsă”. Diferența fundamentală între instrucțiunile if-else și switch este că instrucțiunea if-else „selectează execuția instrucțiunilor pe baza evaluării expresiei în instrucțiuni if”. Instrucțiunile switch „selectează execuția instrucțiunii deseori pe baza unei comenzi de la tastatură”.

  1. Diagramă de comparație
  2. Definiție
  3. Diferențele cheie
  4. Concluzie

Diagramă de comparație

Baza pentru comparațieif-elseintrerupator
De bazăCare instrucțiune va fi executată depinde de ieșirea expresiei din instrucțiunea if.Ce declarație va fi executată este decisă de utilizator.
Expresieinstrucțiunea if-else folosește instrucțiune pentru mai multe opțiuni.instrucțiunea switch utilizează o singură expresie pentru mai multe opțiuni.
Testareaif-else test de declarație pentru egalitate, precum și pentru expresie logică.comutați testul de declarație doar pentru egalitate.
Evaluaredacă instrucțiunea evaluează un număr întreg, caracter, pointer sau tip flotant sau tip boolean.instrucțiunea switch evaluează numai caracterul sau valoarea întreagă.
Secvență de executareDacă instrucțiunea va fi executată sau altceva este executată.instrucțiunea switch execută un caz după altul până apare o declarație de pauză sau se ajunge la sfârșitul instrucțiunii switch.
Execuție implicităDacă starea din interior dacă instrucțiuni este falsă, atunci implicit, instrucțiunea else este executată dacă este creată.Dacă condiția din instrucțiunile de comutare nu se potrivește cu niciunul dintre cazuri, pentru acea situație, instrucțiunile implicite sunt executate dacă sunt create.
editareaEste dificil să editați instrucțiunea if-else, dacă se folosește instrucțiunea if-else cuibărită.Este ușor să editați cazurile de comutare, deoarece sunt recunoscute cu ușurință.

Definiția if-else

Instrucțiunile if-else aparțin instrucțiunilor de selecție din OOP. Forma generală a declarațiilor if-else este următoarea


if (expresie) {statement (s)} else {statement (s)}

unde „dacă” și „altceva” sunt cuvintele cheie, iar enunțurile pot fi o singură declarație sau un bloc de declarații. Expresia se evaluează a fi „adevărată” pentru orice valoare non-zero și pentru zero ea este „falsă”.
Expresia din instrucțiunea if poate conține un număr întreg, caracter, pointer, în virgulă flotantă sau poate fi de tip boolean. Instrucțiunea else este opțională într-o instrucțiune if-else. Dacă expresia returnează adevărat, instrucțiunile din interior dacă instrucțiunea este executată și dacă returnează false, instrucțiunile din interiorul altei instrucțiuni sunt executate și, în cazul în care o altă instrucțiune este o nu creată, nu se efectuează nicio acțiune, iar controlul programului sare în afara a unei declarații if-else.

Ne permite să ne înțelegem cu un exemplu.

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

Definiția switch

Instrucțiunile switch este o declarație de selecție cu alegere multiplă. Forma generală a instrucțiunii switch este următoarea

switch (expresie) {constant case1: statement (s); pauză; constanta de caz2: enunț (e); pauză; constanta de caz3: enunț (e); pauză; . . declarația implicită; }

În cazul în care expresia evaluează un număr întreg sau constant de caracter. Expresia de aici evaluează doar egalitatea. Expresia este verificată în raport cu constantele prezente în enunțurile de caz. Dacă se găsește o potrivire, instrucțiunile asociate cu acel caz sunt executate până la apariția unei „pauze”. Deoarece instrucțiunea de pauză este opțională în instrucțiunile de caz, dacă instrucțiunea de pauză nu este prezentă atunci, execuția nu se oprește până la sfârșitul instrucțiunii switch.
Expresia conține o singură expresie. Instrucțiunea switch folosește adesea o comandă de la tastatură pentru a alege una dintre mai multe instrucțiuni de caz.

int c; cout << "alege valoarea de la 1 la 3"; >> CIN I; switch (i) {cazul 1: cout << "alegi clocatul întunecat"; pauză; cazul 2: cout << „alegi bomboanele”; pauză; cazul 3: cout << "alegi lollypop"; pauză; . . implicit cout << "nu alegi nimic"; }

Aici, valoarea „i” va decide ce caz trebuie executat, dacă un utilizator dă valoarea „i”, alta decât 1, 2 sau 3, atunci se execută cazul implicit.

  1. Expresia din interior dacă instrucțiunea decide dacă se execută declarațiile din interior dacă este bloc sau sub alt bloc. Pe de altă parte, expresia din interiorul switch declară ce caz trebuie executat.
  2. Puteți avea mai multe instrucțiuni if ​​pentru alegerea multiplă a declarațiilor. În comutare aveți o singură expresie pentru mai multe opțiuni.
  3. Instrucțiunea If-assign verifică egalitatea, precum și expresia logică. Pe de altă parte, comutați verificarea numai pentru egalitate.
  4. Instrucțiunea if evaluează un număr întreg, caracter, pointer sau tip flotant sau tip boolean. Pe de altă parte, instrucțiunea switch evaluează numai caracterul sau un tip de date întreg.
  5. Secvența de execuție este ca oricare dintre instrucțiunile sub dacă se va executa blocul sau instrucțiunile sub altceva instrucțiunea de bloc va fi executată. Pe de altă parte, expresia din instrucțiunea switch decide ce caz trebuie executat și dacă nu aplicați o instrucțiune break după fiecare caz, se va executa până la sfârșitul instrucțiunii switch.
  6. Dacă expresia din interior dacă se închide este falsă, instrucțiunea din alt bloc va fi executată. Dacă expresia din interiorul switch switch se dovedește a fi falsă, atunci instrucțiunile implicite sunt executate.
  7. Este dificil să editați instrucțiunile if-else, deoarece este obositor să urmărim unde este necesară corectarea. Pe de altă parte, este ușor de editat instrucțiunile switch, deoarece sunt ușor de urmărit.

Concluzie:

Instrucțiunea switch este ușor de modificat, deoarece a creat cazuri separate pentru diferite declarații, în timp ce, în instrucțiunile if-else cuibărite, devine dificil să se identifice declarațiile care urmează să fie editate.