Différence entre if-else et switch

Auteur: Laura McKinney
Date De Création: 3 Avril 2021
Date De Mise À Jour: 5 Peut 2024
Anonim
Différence entre if-else et switch - La Technologie
Différence entre if-else et switch - La Technologie

Contenu


“If-else” et “switch” sont tous deux des instructions de sélection. Les instructions de sélection transfèrent le flux du programme vers le bloc d'instructions particulier selon que la condition est "vraie" ou "fausse". La différence fondamentale entre les instructions if-else et switch est que l'instruction if-else «sélectionne l'exécution des instructions en fonction de l'évaluation de l'expression dans les instructions if». Les instructions switch "sélectionnent l'exécution de l'instruction souvent basée sur une commande au clavier".

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonsinoncommutateur
De baseL'instruction à exécuter dépend de la sortie de l'expression à l'intérieur de l'instruction if.L'instruction qui sera exécutée est décidée par l'utilisateur.
ExpressionL'instruction if-else utilise plusieurs instructions pour plusieurs choix.L'instruction switch utilise une seule expression pour plusieurs choix.
EssaiL'instruction if-else teste l'égalité ainsi que l'expression logique.commutateur instruction test uniquement pour l'égalité.
ÉvaluationL'instruction if évalue le type entier, caractère, pointeur ou virgule flottante ou le type booléen.L'instruction switch n'évalue que les caractères ou les valeurs entières.
Séquence d'exécutionSoit si instruction sera exécutée, soit l'instruction est exécutée.instruction switch exécuter un cas après l'autre jusqu'à ce qu'une instruction break soit affichée ou que la fin de l'instruction switch soit atteinte.
Exécution par défautSi la condition à l'intérieur de if statement est fausse, alors l'instruction else est exécutée par défaut.Si la condition à l'intérieur des instructions switch ne correspond à aucun cas, les instructions par défaut sont exécutées si elles sont créées.
ÉditionIl est difficile d’éditer l’instruction if-else si l’instruction imbriquée if-else est utilisée.Il est facile de modifier les cas de commutation car ils sont facilement reconnus.

Définition de if-else

Les déclarations if-else appartiennent aux déclarations de sélection dans la POO. La forme générale des déclarations if-else est la suivante


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

où "si" et "sinon" sont les mots-clés, et les déclarations peuvent être une déclaration unique ou un bloc d'instructions. L'expression est évaluée comme "vraie" pour toute valeur autre que zéro et pour zéro, comme "fausse".
L'expression dans l'instruction if peut contenir un entier, un caractère, un pointeur, un nombre à virgule flottante ou un type booléen. L'instruction else est facultative dans une instruction if-else. Si l'expression renvoie true, les instructions inside si statement sont exécutées, et si elle renvoie false, elles sont exécutées et, si une instruction else est non créée, aucune action n'est exécutée et le contrôle du programme saute d'une déclaration if-else.

Permet de comprendre avec un exemple.

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

Définition de commutateur

Les instructions de commutateur sont des instructions de sélection à choix multiples. La forme générale de l'instruction switch est la suivante

switch (expression) {case constant1: statement (s); Pause; constante de cas2: instruction (s); Pause; constante de cas3: instruction (s); Pause; . . déclaration (s) par défaut; }

Où l'expression évalue un entier ou des constantes de caractère. L'expression ici n'évalue que l'égalité. L'expression est vérifiée par rapport aux constantes présentes dans les instructions case. Si une correspondance est trouvée, les instructions associées à ce cas sont exécutées jusqu'à ce qu'un «break» se produise. Comme l'instruction break est facultative dans les instructions case, si elle n'est pas présente, l'exécution ne s'arrête pas avant la fin de l'instruction switch.
L'expression ne contient qu'une seule expression. L'instruction switch utilise souvent une commande au clavier pour choisir l'une des déclarations de casse multiples.

int c; cout << "choisissez la valeur entre 1 et 3"; cin >> i; switch (i) {cas 1: cout << "vous choisissez le chocolat noir"; Pause; cas 2: cout << "vous choisissez des bonbons"; Pause; cas 3: cout << "vous choisissez Lollypop"; Pause; . . cout par défaut << "vous ne choisissez rien"; }

Ici, la valeur de «i» décidera quel cas doit être exécuté, si un utilisateur donne la valeur de «i» autre que 1, 2 ou 3, alors le cas par défaut est exécuté.

  1. Expression à l'intérieur de if if décide s'il faut exécuter les instructions à l'intérieur de block ou under block. D'autre part, l'expression à l'intérieur de l'instruction switch détermine le cas à exécuter.
  2. Vous pouvez avoir plusieurs instructions if pour un choix multiple d'instructions. Dans switch, vous n'avez qu'une seule expression pour les choix multiples.
  3. L'instruction If-esle vérifie l'égalité et l'expression logique. D'autre part, basculez les contrôles uniquement pour l'égalité.
  4. L'instruction if évalue le type entier, caractère, pointeur ou type à virgule flottante ou type booléen. Par ailleurs, l'instruction switch n'évalue qu'un caractère ou un type de données entier.
  5. La séquence d’exécution ressemble à l’une des instructions sous si block s’exécute ou des instructions sous sinon, une instruction block est exécutée. D'autre part, l'expression dans l'instruction switch détermine le cas à exécuter et si vous n'appliquez pas d'instruction break après chaque cas, elle sera exécutée jusqu'à la fin de l'instruction switch.
  6. Si expression à l'intérieur si le résultat est faux, l'instruction à l'intérieur d'un autre bloc sera exécutée. Si l'expression à l'intérieur de l'instruction switch s'avère être fausse, les instructions par défaut sont exécutées.
  7. Il est difficile d’éditer les instructions if-else car il est fastidieux de savoir où la correction est nécessaire. D'autre part, il est facile d'éditer les instructions switch car elles sont faciles à tracer.

Conclusion:

L'instruction switch est facile à modifier car elle a créé des cas distincts pour différentes instructions alors que, dans les instructions imbriquées if-else, il devient difficile d'identifier les instructions à modifier.