Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

L'essentiel du langage C

Mettre en application switch case

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Après avoir défini le rôle de switch case, vous allez mettre en application cette structure au sein de votre programme.
05:49

Transcription

Je vous propose de regarder par le programme, l'illustration de la structure de contrôle swicth/case. Donc comme à l'accoutumée, je déclare des variables ici deux types unsigned char avec des nombres explicites, nombre_char1 et nombre_char2. Respectivement donc, initialisés à la valeur 100 et 20. Et nous avons plusieurs swicth/case qui vont être mis et apparaître dans notre exécutable. Donc regardons un petit peu ce que cela peut nous donner : nombre_char1 vaut 100 donc ici, c'est sûr que c'est faux, cette ligne ne sera pas affichée. Celle-ci non plus. Et là, c'est vrai, donc elle sera affichée. Mais le problème qui va se passer, c'est que, celle-ci sera affichée aussi, Pourquoi ? Parce que vous n'avez pas mis de break. Vérifions tout ça. En effet, vous voyez bien, nombre_char vaut 100. Pas de problème. Et on ne connait pas la valeur de nombre_char parce que vu n'avez pas mis de break à l'intérieur, donc de ce fait, le compilateur lit de façon linéaire les instructions qui restent vraies et le défault, par défaut, reste vrai. Ici, la structure n'est pas cassée. Maintenant regardons un petit peu au niveau des conditions. Nous recompilerons notre programme après pour bien vous montrer que de toute façon, ceci ne fonctionne pas. Le swicth/case avec des conditions. Par exemple, swich/case sur nombre_char1, est-ce qu'il est supérieur ou égal à 100 ? Ou est-ce qu'il est différent de 0 ? Ou est-ce qu'il vaut "d" ? Après tout, dans la table ASCII, "d", c'est 100 donc ça ne marchera pas car le swicth/case ne supporte pas les conditions. Il faut une valeur. Dans cette partie-ci, donc nous sommes sur le swicth/case, toujours avec nombre 1 qui vaut 100. Toujours pas de break. Et cette fois-ci, que se passe t-il? On regarde. nombre_char vaut "d" en ASCII soit 100 en décimal donc vrai. Donc, c'est-à-dire que ici, tant que je n'ai pas "d", commenter les valeurs qui sont ici, là, ça va fonctionner et on retrouve toujours le même problème que précédemment. À savoir que, vu que vous n'avez pas mis de break, si vous n'en mettez pas je veux dire, dans ce cas là, la ligne default sera lue aussi. Donc nous arrivons sur un vrai swicth/case avec le break qui est très propre. Alors, est-ce que nombre_char vaut 50 ? Non, il ne vaut pas 50, ce n'est pas vrai. Est-ce qu'il vaut 20 ? Oui, c'est vrai. Dans ce cas-là, je peux mettre entre accolades, Et là, j'insiste. accolade ouvrante, fermante, sans ";", attention ! L'ensemble des instructions que vous voulez effectuez Et là, vous pouvez refaire un swicth/case d'un swicth/case, il n'y a pas de souci. Donc vous retrouvez le texte qui a été écrit ici sous la forme du printf. C'est vrai, j'ai écrit plusieurs instructions dans ce cas présent. Et celles-ci sont les seules exécutées. Alors, et le message, par défaut, n'apparait pas. Maintenant, regardons un peu, je vais arrêter mon programme et je vais donc décommenter pour vous montrer à quel point les parties commentées ne fonctionnent pas. Donc, je sélectionne Ctrl+Shift+X pour décommenter. Et regardez, et là terminé, une comparaison, ça ne fonctionne pas. On ressaisit cette paragraphe, je ne désespère pas, je continue. Non, c'est toujours une comparaison. Bon, bah ok, je désespère alors. Et là oui, ça fonctionne. Évidemment puisque nombre_char vaut 100 et 100 en ASCII ça vaut D Donc là, ça fonctionne. Mais on revient dans le cas précédent. Donc recommentons toute cette partie-là, Donc je vais faire un Ctrl+Z Ctrl+Z Et puis pour éviter d'avoir trop de choses qui s'affichent, je fais Shift+Ctrl+C pour commentaire. Je regarde ici et je décommente, après tout, on peut ne pas me croire. Donc là 100, 100, 64 en hexa et "d" ça vaut 100. C'est parti, bah non. Je suis d'accord pour le premier, de toute façon c'est vrai, oui mais alors, pour le reste, c'est fini. Alors, vous vous dites, bon bah ok, je vais commenter cette partie-là, Allez, je recompile, je suis un fou. Ah 64, ça ne marche toujours pas ! Bon, alors je commente, Bah oui, mais "d" ça vaut 600. Et donc là, à partir de là seulement, ça fonctionne. Donc je fais un petit Ctrl+Z. ous avez compris le principe. Et ici donc, on va retrouver exactement le même problème. Je fais un Ctrl+Shift+X pour décommenter. Et 20, c'est égal à 14 en hexadécimale. Et là, forcément, à partir d'ici, ça bloque. Donc voilà, j'espère que vous avez bien compris la structure du swicth/case et surtout n'oubliez pas que le break, il ne sert strictement à rien vu que vous sortez de la structure. Et n'oubliez pas aussi autre chose : c'est que votre compilateur ne peut pas effectuer de choix sur des valeurs qui sont identiques ou sur des conditions.

L'essentiel du langage C

Comprenez les concepts de base du langage C. Développez de simples applications en mode console, afin de comprendre les rouages d’un des langages les plus utilisés au monde.

7h51 (98 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :12 janv. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !