Maison > développement back-end > Tutoriel C#.Net > A quoi sert switch en langage C ?

A quoi sert switch en langage C ?

coldplay.xixi
Libérer: 2020-07-27 13:08:04
original
41436 Les gens l'ont consulté

L'utilisation de switch en langage C est : 1. L'[expression] entre parenthèses après switch, la norme ANSI lui permet d'être de n'importe quel type 2. Lorsque la valeur de l'expression correspond à l'expression constante après ; un certain cas Lorsque les valeurs sont égales, l'instruction suivant ce cas est exécutée sinon, l'instruction suivant default est exécutée ;

A quoi sert switch en langage C ?

L'utilisation de switch en langage C est :

Fonction : L'instruction switch est une sélection multi-branches Déclaration.Utilisé Implémenter une structure de sélection multi-branches. L'instruction if n'a que deux branches parmi lesquelles choisir, mais la sélection multi-branches est souvent utilisée dans les problèmes pratiques. Par exemple, la classification des performances des étudiants (90 est "A", etc.). 80-89 est divisé en 'B' etc., 70-90 est divisé en 'C', etc...). Bien sûr, ceux-ci peuvent être traités avec des instructions if imbriquées, mais s'il y a beaucoup de branches, il y en aura. de nombreuses couches d'instructions if imbriquées, et le programme le fera. C'est trop long et la lisibilité est réduite. Le langage C fournit l'instruction switch pour gérer directement les sélections multi-branches, ce qui est équivalent à l'instruction CASE dans le langage PASCAL

Formulaire : switch (expression)

{
case 常量表达式 1:语句 1
case 常量表达式 2:语句 2
.
.
.
case 常量表达式 n:语句 n
default:语句 n+1
}
Copier après la connexion

Par exemple, si vous souhaitez imprimer des segments de pourcentage en fonction des résultats des tests, vous pouvez utiliser l'instruction switch :

switch(grade)
{
case 'A':printf("85-100\n");
case 'B':printf("70-84\n");
case 'C':printf("60-69\n");
case &#39;D&#39;:printf("<60\n");
default:printf("error\n");
}
Copier après la connexion

Explication :

(1) L'"expression" entre parenthèses après switch, ANSI La norme lui permet d'être de n'importe quel type

(2) Lorsque la valeur de l'expression est égale à la valeur de la. expression constante suivant un cas, l'instruction suivant le cas est exécutée. Si les constantes dans tous les cas Si la valeur de l'expression ne correspond pas à l'expression, l'instruction après défaut sera exécutée

(3) Le. la valeur de l'expression constante dans chaque cas doit être différente les unes des autres, sinon il y aura des conflits (il existe deux ou plusieurs plans d'exécution pour la même valeur d'une expression

(4) L'ordre). dans lequel les valeurs par défaut apparaissent dans chaque cas n'affecte pas les résultats de l'exécution. Par exemple, "par défaut : ..." peut apparaître en premier, puis "cas 'D' : ...", et enfin "cas 'A' : ...".

(5) Exécution terminée Après l'instruction suivant un cas, le contrôle de flux est transféré au cas suivant pour continuer l'exécution. L'« expression constante de cas » sert uniquement d'étiquette d'instruction et n'y effectue pas de jugement conditionnel lors de l'exécution de l'instruction switch, selon le. expression suivant le commutateur Si l'étiquette d'entrée correspondante est trouvée, l'exécution commencera à partir de cette étiquette sans autre jugement. Par exemple, dans l'exemple ci-dessus, si la valeur de grade est égale à « A », elle sera continuellement sortie : <. 🎜>
85-100
70-84
60-69
<60
error
Copier après la connexion

Par conséquent, il devrait Après avoir exécuté une branche case, faire sortir le processus de la structure switch, c'est-à-dire mettre fin à l'exécution de l'instruction switch

Vous pouvez utiliser une instruction break pour. Pour atteindre cet objectif, réécrivez la structure de commutation ci-dessus comme suit :

switch(grade)
{
case &#39;A&#39;:printf("85-100\n"); break;
case &#39;B&#39;:printf("70-84\n"); break;
case &#39;C&#39;:printf("60-69\n"); break;
case &#39;D&#39;:printf("<60\n"); break;
default:printf("error\n");
}
Copier après la connexion

La dernière branche (par défaut) n'a pas besoin d'ajouter une instruction break Si la valeur de grade est « B », seulement « 70-84 ». sera affiché.

Bien qu'il y ait plus d'une instruction d'exécution après le cas, il n'est pas nécessaire de la mettre entre accolades, toutes les instructions d'exécution suivant ce cas seront automatiquement exécutées séquentiellement. Des accolades peuvent également être ajoutées.

(6) Plusieurs cas peuvent partager un ensemble d'instructions d'exécution, par exemple :

case &#39;A&#39;:
case &#39;B&#39;:
case &#39;C&#39;: printf(">60\n");break;
.
.
Copier après la connexion

Le même ensemble d'instructions sera exécuté lorsque la valeur de grade est. 'A', 'B' ou 'C'.

Recommandations d'apprentissage associées :
Tutoriel vidéo C

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal