Diferència entre if-else i commutador

Autora: Laura McKinney
Data De La Creació: 3 Abril 2021
Data D’Actualització: 5 Ser Possible 2024
Anonim
Diferència entre if-else i commutador - Tecnologia
Diferència entre if-else i commutador - Tecnologia

Content


Les dues opcions "If" alt i "switch" són declaracions de selecció. Les instruccions de selecció, transfereixen el flux del programa al bloc particular d’instruccions en funció de si la condició és “vertadera” o “falsa”. La diferència fonamental entre les instruccions if-else i switch és que la sentència if-else "selecciona l'execució de les sentències a partir de l'avaluació de l'expressió en instruccions if". Les declaracions de commutació "seleccionen l'execució de la sentència sovint basada en una ordre del teclat".

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparaciósi una altra cosainterruptor
BàsicQuina sentència que s'executarà dependrà de la sortida de l'expressió de la instrucció if.Quina sentència s’executarà serà decidida per l’usuari.
Expressióif-else utilitza una sentència per a diverses opcions.La sentència switch utilitza una sola expressió per a diverses opcions.
Provaif-else prova d’afirmació d’igualtat i d’expressió lògica.commuta el test de declaració només per a la igualtat.
Avaluaciósi la sentència avalua el tipus enter, el caràcter, el punter o el de coma flotant o el tipus booleà.La sentència switch només avalua un valor de caràcter o enter.
Seqüència d'execucióJa sigui si s’executarà una instrucció o s’executa una altra instrucció.instrucció switch executar un cas rere un altre fins que aparegui una instrucció de ruptura o s’arriba al final de la declaració de switch.
Execució per defecteSi la condició dins d’instruccions és falsa, per defecte s’executa l’instrucció else si es crea.Si la condició de les instruccions de switch no coincideix amb cap dels casos, per a aquest cas les instruccions per defecte s'executen si es creen.
EdicióÉs difícil editar la instrucció if-else si es fa servir la instrucció if-else imbricada.És fàcil editar casos de commutació ja que, es reconeixen fàcilment.

Definició if-else

Les instruccions if-else pertanyen a instruccions de selecció a OOP. La forma general de les sentències if-else és la següent


if (expression) {statement (s)} else {instruccions (es)}

on “if” i “else” són les paraules clau i les sentències poden ser una sola declaració o un bloc d’instruccions. L'expressió es considera "veritable" per a qualsevol valor diferent de zero i per a zero es considera "falsa".
L’expressió en la sentència if pot contenir un nombre enter, caràcter, punter, punt flotant o pot ser un tipus booleà. La sentència else és opcional en una instrucció if-else. Si l'expressió torna veritable, s'executen les instruccions de dins si s'executa la sentència i si torna falsa, s'executen les instruccions de l'interior d'una altra instrucció i, en cas que una altra instrucció sigui una no creada, no es fa cap acció i el control del programa saltarà. d’una declaració if-else.

Ens permet entendre amb un exemple.

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

Definició de switch

Les instruccions de commutació són una instrucció de selecció de múltiples opcions. La forma general de la instrucció switch és la següent

switch (expression) {case case1: statement (s); trencar; constant de cas2: declaració (s); trencar; constant de cas3: declaració (s); trencar; . . declaració (es) predeterminada; }

Quan l’expressió avalua unes constants de caràcter enter o de caràcter. L’expressió aquí només avalua la igualtat. L'expressió es verifica amb les constants presents en les sentències de cas. Si es troba una coincidència, les sentències associades a aquest cas s'executen fins que es produeix una "pausa". Com que la sentència de ruptura és opcional a les sentències de cas, si la instrucció de ruptura no hi és present, l'execució no s'atura fins al final de la instrucció switch.
L'expressió només conté una sola expressió. La sentència switch sovint utilitza una ordre del teclat per escollir-ne una entre les múltiples sentències de majúscules.

int c; cout << "tria el valor entre 1 i 3"; cin >> i; switch (i) {case 1: cout << "trieu el cloclate fosc"; trencar; cas 2: cout << "trieu caramels"; trencar; cas 3: cout << "trieu lolipop"; trencar; . . per defecte cout << "no escolliu res"; }

Aquí, el valor de "i" decidirà quin cas s'ha d'executar, si un usuari dóna el valor de "i" que no sigui 1, 2 o 3, aleshores s'executa el cas per defecte.

  1. L'expressió dins si la sentència decideix si voleu executar les declaracions en un bloc o en un bloc més. D'altra banda, l'expressió de la instrucció switch decideix quin cas cal executar.
  2. Podeu tenir diverses instruccions if per a elecció múltiple d’enunciats. Al canvi, només tens una expressió per a les múltiples opcions.
  3. La sentència If-assign comprova tant la igualtat com l'expressió lògica. D'altra banda, canvia la comprovació per a la igualtat.
  4. La sentència if avalua el tipus enter, el caràcter, el punter o el de tipus flotant o el tipus booleà. D'altra banda, la sentència switch només avalua un caràcter o un tipus de dades enter.
  5. La seqüència d’execució és com qualsevol de les declaracions de si s’executarà el bloc o s’executaran instruccions d’altra banda. D'altra banda, l'expressió de la instrucció switch decideix quin cas s'ha d'executar i si no apliqueu una sentència de ruptura després de cada cas, s'executarà fins al final de la instrucció switch.
  6. Si l’expressió a l’interior si es desconverteix és falsa, s’executarà la sentència a l’interior del bloc. Si l'expressió dins de la declaració de switch resulta falsa, s'executaran les instruccions per defecte.
  7. És difícil editar sentències if-else ja que és tediós fer un seguiment d’on cal la correcció. D'altra banda, és fàcil editar les instruccions de switch ja que són fàcils de rastrejar.

Conclusió:

La sentència switch és fàcil d’editar ja que ha creat els casos separats per a diferents sentències mentre que, en les instruccions if-else imbricades, és difícil identificar les declaracions que s’han d’editar.