Instruction de sélection si en langage C. Instruction conditionnelle si sinon

Dernière mise à jour: 30.07.2016

Les constructions conditionnelles sont l'une des composants de base de nombreux langages de programmation qui dirigent le fonctionnement d'un programme le long de l'un des chemins en fonction de certaines conditions.

Les constructions conditionnelles suivantes sont utilisées dans le langage C# : if..else et switch..case

construction if/else

La construction if/else vérifie la véracité d'une certaine condition et, en fonction des résultats de la vérification, exécute certains codes :

Int num1 = 8 ; int num2 = 6; if(num1 > num2) ( Console.WriteLine($"Numéro (num1) plus de numéro(num2)"); )

Après mot-clé si la condition est définie. Et si cette condition est remplie, alors le code qui est placé plus loin dans le bloc if après accolades. Les opérations de comparaison évoquées précédemment servent de conditions.

Dans ce cas, le premier nombre est supérieur au second, donc l'expression num1 > num2 est vraie et renvoie vrai, donc le contrôle passe à la ligne Console.WriteLine("Le nombre (num1) est supérieur au nombre (num2) ");

Mais que se passe-t-il si nous souhaitons qu’une action soit également effectuée si une condition n’est pas remplie ? Dans ce cas on peut ajouter un bloc else :

Int num1 = 8 ; int num2 = 6; if(num1 > num2) ( Console.WriteLine($"Le nombre (num1) est supérieur au nombre (num2)"); ) else ( Console.WriteLine($"Le nombre (num1) est inférieur au nombre (num2) )"); )

Int num1 = 8 ; int num2 = 6; if(num1 > num2) ( Console.WriteLine($"Le nombre (num1) est supérieur au nombre (num2)"); ) else if (num1< num2) { Console.WriteLine($"Число {num1} меньше числа {num2}"); } else { Console.WriteLine("Число num1 равно числу num2"); }

Nous pouvons également connecter plusieurs conditions à la fois à l'aide d'opérateurs logiques :

Int num1 = 8 ; int num2 = 6; if(num1 > num2 && num1==8) ( Console.WriteLine($"Le nombre (num1) est supérieur au nombre (num2)"); )

Dans ce cas, le bloc if sera exécuté si num1 > num2 est true et num1==8 est true .

Construction des interrupteurs

La construction switch/case est similaire à la construction if/else, car elle vous permet de traiter plusieurs conditions à la fois :

Console.WriteLine("Appuyez sur Y ou N"); sélection de chaîne = Console.ReadLine(); switch (sélection) ( case "Y": Console.WriteLine("Vous avez appuyé sur la lettre Y"); break; case "N": Console.WriteLine("Vous avez appuyé sur la lettre N"); break; par défaut : Console.WriteLine (" Vous avez appuyé sur une lettre inconnue "); break; )

Après le mot-clé switch, l'expression à comparer est placée entre parenthèses. La valeur de cette expression est comparée séquentiellement aux valeurs placées après l'opérateur case. Et si une correspondance est trouvée, alors un bloc de cas spécifique sera exécuté.

A la fin de chaque bloc case, il faut placer l'un des opérateurs de transition : break , goto case , return ou throw . En règle générale, l'instruction break est utilisée. Lorsqu'il est utilisé, aucun autre bloc de cas ne sera exécuté.

Cependant, si nous voulons au contraire qu'après l'exécution du bloc case en cours, un autre bloc case soit exécuté, alors nous pouvons utiliser l'instruction goto case au lieu de break :

Numéro entier = 1 ; switch (numéro) ( case 1: Console.WriteLine("case 1"); aller au cas 5; // aller au cas 5 cas 3: Console.WriteLine("case 3"); break; cas 5: Console.WriteLine( "case 5"); break; valeur par défaut : Console.WriteLine("default"); break; )

Si nous voulons également gérer la situation où aucune correspondance n'est trouvée, nous pouvons ajouter un bloc par défaut, comme dans l'exemple ci-dessus.

L'utilisation de l'instruction return vous permettra de quitter non seulement le bloc case, mais également la méthode appelante. Autrement dit, si dans la méthode Main après la construction switch..case, qui utilise déclaration de retour, il existe des opérateurs et des expressions, ils ne seront pas exécutés et la méthode Main terminera son travail.

L'opérateur throw est utilisé pour générer des erreurs et sera abordé dans l'une des rubriques suivantes.

Opération ternaire

L'opérateur ternaire a la syntaxe suivante : [premier opérande - condition] ? [deuxième opérande] : [troisième opérande] . Il y a trois opérandes ici. Selon la condition, l'opérateur ternaire renvoie un deuxième ou un troisième opérande : si la condition est vraie, alors le deuxième opérande est renvoyé ; si la condition est fausse, alors la troisième. Par exemple:

Int x=3 ; entier y=2 ; Console.WriteLine("Appuyez sur + ou -"); sélection de chaîne = Console.ReadLine(); int z = sélection=="+"? (x+y) : (x-y); Console.WriteLine(z);

Ici, le résultat de l'opération ternaire est la variable z. Si nous saisissons « + » ci-dessus, alors z sera égal au deuxième opérande - (x+y). Sinon z sera égal au troisième opérande.

Salut tout le monde. Et aujourd’hui, je veux vous parler des conditions si et sinon. Je suis juste sûr que presque tous ceux qui lisent ceci savent parfaitement de quoi nous parlons. Eh bien, pour tout le monde, je vais l'expliquer mieux.
Et donc si - est traduit de En anglais comme "Si", alors que sinon c'est le cas. Laissez-moi vous montrer tout de suite un exemple et je pense que tout deviendra immédiatement clair pour beaucoup.


$une = 1 ;
si ($a == 1) (
écho "a = 1" ;
) autre (
echo "a n'est pas égal à 1" ;
} ?>

Je pense que beaucoup ont déjà deviné que le résultat de cet exemple serait l'apparition de « a = 1 » à l'écran. Et tout cela parce que nous attribuons la valeur 1 à la variable a au tout début. Si nous avons la valeur correcte entre parenthèses après if, alors le script situé entre les premières accolades () est exécuté. Sinon (sinon) Exécuter à partir d'autres parenthèses, voici un autre exemple.


$une = 2 ;
si ($a == 1) (
écho "a = 1" ;
) autre (
echo "a n'est pas égal à 1" ;
} ?>

Cet exemple montrera que a n’est pas égal à un. Mais en fait, ce sont des structures basiques mais simples. PHP dispose également d'une option plus compacte pour l'écriture des conditions.

Le résultat de cet exemple sera exactement le même que dans les exemples ci-dessus. N’oubliez pas non plus un autre design


si ($a == 1) :?>
Notre a a encore la valeur 1


Et maintenant une conception plus complexe
Je vais même commencer tout de suite par des exemples.


si ($a >= 0) (
si ($a == 0) (
?>

Notre A est nul




Notre A est supérieur à zéro


) autre (
echo "Notre variable est inférieure à zéro=(";
}
?>

Comme vous pouvez le constater, vous pouvez également ajouter d'autres conditions aux conditions ; vous pouvez en créer autant que vous le souhaitez.
Et voici un autre exemple pour vous.


si ($a == 0)(
echo "La variable est nulle" ;
) sinon ($a > 0 && $a<5) {
?>

Et plus que zéro, mais certainement moins de 5

= 5 || $a == -5)(
echo "Vous ne verrez ce test que si A est supérieur ou égal à 5. OU !! Si A est égal à -5";
)autrement(?>
Et vous verrez cela si a est inférieur à zéro, et en même temps PAS égal à -5.


En fait, dans le dernier exemple du dernier autre, il n'existe aucune condition telle que $a ne soit pas égal à -5. C'est juste que si a vaut -5, alors la condition qui était ci-dessus sera remplie et n'aura pas le temps d'atteindre la condition inférieure.

Et aussi, si vous ne comprenez toujours pas, alors les conditions qui sont écrites entre parenthèses utilisent opérateurs spéciaux, ils sont discutés dans un autre article. Mais heureusement, ils ne sont pas nombreux et je peux les répéter ici.
Opérateurs logiques utilisés dans les conditions

L'égalité, à ne pas confondre avec l'affectation (=), par exemple $a = 1 ; - Dans ce cas, nous en mettons un dans la cellule « a », et l'entrée ressemble à $a == 1, la même que 1 == 1.

Pas l'égalité. if(1 != 2)(echo "Cette condition fonctionnera certainement car 1 n'est pas égal à 2"; )

|| - OU. À propos, si quelqu'un saisit ces 2 caractères dans la mise en page anglaise, il appuie sur Shift + barre oblique (sous l'espace arrière).

0 || $un< 0){echo "Это условие сработает если А будет равняться например -15 ИЛИ например 23 "; }?>
D'ailleurs cet exemple tu peux l'écrire comme ça


&& - ET. Avec cet opérateur logique, le script ne sera exécuté que si les deux conditions sont remplies.

0)( echo "Pour cela, A ne doit pas être nul ET doit être supérieur à zéro"; )?>
Voici le même exemple

0 ? "Est-ce supérieur à zéro" : ""?>
Je viens de vous expliquer comment utiliser les opérateurs logiques, mais il y a encore une chose ! Ce que certains programmeurs oublient réellement.

$une = 1 ;
si($a)(
echo "Il sera exécuté car nous avons $a et il n'est pas vide. Mais si nous écrivons $b dans la condition, alors else sera déjà exécuté, car nous n'avons pas $b =(";
)autre(
echo "Nous aurons toujours la première condition remplie car nous avons toujours A" ;
}?>
L'essentiel est que lors de la vérification des conditions, vrai ou faux est renvoyé. Si vous regardez l'exemple du haut. Il est impossible que nous ne puissions PAS avoir de vide dans la condition if. Tout vide ou quand il ne passe pas opérateur logique renvoie faux, dans sinon reviendra vrai.

si($a = 1)(
echo "Ce sera toujours vrai ! Parce que l'affectation de la variable "a" à une valeur se produit directement dans la condition, c'est-à-dire que nous en attribuerons une, et alors seulement il sera vérifié s'il y a quelque chose dans la variable $a. Et bien sûr, si nous produisons maintenant $a , alors nous verrons ".$a;
)autre(
echo "Nous n'y arriverons jamais =(";
}?>
Je suppose que je vais terminer ici. Bonne chance à tous, rappelez-vous la chose la plus importante, c'était PHP et donc cette section de code devrait être située dans. Bien sûr, lisez mon blog, dans lequel je vous expliquerai comment écrire de superbes sites Web et applications Web. Et même comment non seulement les écrire, mais comment le faire correctement !

Regardons l'organisation des entrées-sorties et la mise en œuvre principales structures de gestion. Tout algorithme spécifique peut être écrit dans un langage de programmation qui utilise seulement trois structures de contrôle : exécution séquentielle, branchement et répétition.
L’exécution cohérente est si courante que nous nous en souvenons rarement en tant que structure de contrôle. La séquence d'instructions est exécutée dans l'ordre de leur emplacement naturel dans le programme, avec une déviation possible pour appeler un fragment externe (fonction), mais avec un retour obligatoire au point d'appel.
Dans le cas le plus simple, le branchement est décrit en langage C à l’aide d’un opérateur conditionnel. ayant la forme :
si (expression)
opérateur_1 ;
autre
opérateur_2 ;

où est la partie autre peut être absent. Tout d'abord, "l'expression" est évaluée entre parenthèses; si c'est vrai alors il est exécuté opérateur_1. Si " expression" faux (égal à zéro - NUL), Que opérateur_1 est ignoré et exécuté opérateur_2. Si à la place des opérateurs exécutés conditionnellement, il doit y avoir un groupe de plusieurs opérateurs de langage, alors ils sont entourés d'accolades - { }. Souvent, « l'expression » entre parenthèses représente une condition spécifiée à l'aide d'opérateurs relationnels et logiques. Les opérations relationnelles sont notées en C comme suit :

= = égal ; ! = pas égal ;< меньше; >plus;
< = меньше или равно; >= supérieur ou égal à.

Symbole ! en langage C désigne la négation logique. Il existe deux autres opérations logiques : || signifie ou && - logique ET. Les opérations relationnelles ont une priorité moindre opérations arithmétiques, donc une expression de la forme k > n%i calculé comme k > (n%i). Une priorité && supérieur à ||, mais les deux opérations logiques sont effectués après des opérations relationnelles et arithmétiques. Dans les cas douteux, il est préférable d'utiliser des parenthèses.

Pour illustrer l’utilisation de l’opérateur conditionnel, considérons un programme permettant de déterminer le plus grand de trois nombres. D'abord si l'opérateur représente une construction conditionnelle complète, dans le deuxième cas autre absent. Notez que le point-virgule termine l'instruction d'affectation maximum=x, ne viole pas l'unité si- opérateur. Si autre- la branche est sautée dans les conditions imbriquées, leur interprétation peut être ambiguë. Pour éviter toute ambiguïté, résolvez-le de cette façon : autre correspond au plus proche si, ne pas avoir le sien autre.

Exemple 1.3.

Regardons un exemple de programme qui utilise plusieurs instructions conditionnelles imbriquées. Dans ce programme il y a une ligne flotteur A, B, X déclare ces trois variables comme valeurs réelles. Chaîne de format de fonction scanf vous demande d'entrer deux nombres réels qui deviendront les valeurs des variables A et B respectivement.

Exemple 1.4

/*SOLUTION DE L'ÉQUATION AX=B*/
#inclure
principal()
{

flotteur A, B, X ;
printf("ENTER A, B\n");
scanf("%f %f",&A, &B);
si(A!=0)
printf("SOLUTION :%f\n", B/A);
autre
si(B==0)
printf("X-TOUT NUMÉRO\n");
autre
printf("AUCUNE SOLUTION\n");
}

Voyez à quoi ressemble le branchement lorsque la profondeur d'imbrication des instructions conditionnelles est de trois (exemple 1.5). Si au moins une condition est vraie, alors toutes les autres sont bien entendu ignorées. Lorsque la profondeur d'imbrication des instructions conditionnelles dépasse trois, le branchement perd en clarté et en clarté.
Pour mettre en œuvre le branchement multitâche, ils recourent généralement à une structure de contrôle choix ( interrupteur) (voir paragraphe 9.4). Lorsque la structure de contrôle des branches devient particulièrement confuse, les accolades peuvent apporter une certaine clarté. Ils sont requis lorsqu'une instruction conditionnelle contient plusieurs instructions ou fonctions, par exemple

DANS Vie courante Il est souvent nécessaire de prendre une décision en fonction de certaines conditions. Par exemple, s'il fait chaud le week-end, nous irons au bord de la mer, sinon, s'il fait nuageux, nous resterons à la maison.

Cela arrive aussi très souvent en programmation. Pour cela il y a deux instructions conditionnelles sont if-else et switch-case. Dans cet article, je vais vous parler de l'opérateur if-else, et dans le prochain article, du switch-case.

Syntaxe de l'instruction conditionnelle if-else suivant:


Si la condition est vraie, alors le code du bloc if est exécuté, sinon, si la condition est fausse, alors le code du bloc else est exécuté.

Pour une meilleure compréhension, prenons un exemple aussi simple, nous avons une certaine somme d'argent et nous voulons acheter une voiture, et ici la condition suivante se pose immédiatement : si nous avons assez d'argent, alors nous pouvons acheter cette voiture, sinon nous ne peut pas.

Argent Var = 35000 ; // Disons que nous avons 35 000 euros // La voiture que nous voulons acheter coûte 50 000 euros. Et la condition suivante se produit if(money > 50000)( document.write("Nous pouvons acheter une voiture"); )else( document.write("Pas assez d'argent pour acheter une voiture"); )

Nous enregistrons le document, l'ouvrons dans le navigateur et constatons que le message suivant apparaît sur la page : « Il n'y a pas assez d'argent pour acheter une voiture ». Si nous avions plus de 50 000 euros, alors le code du bloc if serait exécuté. Si nous avions exactement 50 000 euros, nous ne pourrions pas non plus acheter de voiture, car 50 000 n'est pas plus de 50 000. Pour que la condition dans ce cas soit vraie, nous devons écrire un signe supérieur ou égal à (>=) .

Commentaire! L'opération logique égal s'écrit avec deux signes égal (==). Il existe également une opération logique inférieure ou égale à (

utiliser des accolades

S'il n'y a qu'un seul opérateur, les accolades ne sont pas nécessaires ; s'il y a plus d'un opérateur dans le bloc, des accolades sont nécessaires.

L'exemple ci-dessus fonctionnera parfaitement sans accolades, puisque les deux blocs ne contiennent qu'une seule instruction.

Vous pouvez écrire n'importe quelle opération logique à l'intérieur si, qu'ils soient simples ou complexes. Vous pouvez également utiliser les opérateurs AND (&&) et OR (||).

Commentaire! La présence du bloc else est facultative.

Par exemple, si a est égal à b et c est égal à d, alors on affiche le message correspondant, sinon s'il n'y a pas de bloc else, alors on passe simplement à la ligne suivante.

Var a = 4, b = 4, c = 8, d = 8 ; if((a == b) && (c == d)) document.write("a est égal à b ET c est égal à d"); document.write("Ligne de code suivante");

Si - sinon si - instruction sinon

Après le bloc if, il peut y avoir un ou plusieurs blocs else if, et à la fin il y a un bloc else. Ceci est utile lorsque vous devez utiliser plusieurs conditions.


Pour mieux comprendre, prenons un exemple tiré de la vie quotidienne. Par exemple, nous disposons d’un certain nombre de sockets. Si nous n'avons qu'une seule prise dans la pièce, alors nous ne pouvons connecter qu'un seul appareil, s'il y a deux prises, alors nous pouvons connecter deux appareils, et s'il y en a plus, alors nous pouvons nous connecter à réseau électrique, tous les appareils de la maison.

Passons maintenant à la programmation.

Prise Var = 2 ; // Nombre de sockets dans la maison if(socket == 1)  document.write("

Nous ne pouvons connecter qu'un seul appareil

"); sinon if(socket == 2)( document.write("

Nous ne pouvons connecter que deux appareils

"); document.write("

Par exemple TV et ordinateur portable

"); )else( document.write("

Nous pouvons connecter tous les appareils de la maison au réseau électrique

"); }

Selon la valeur de la variable socket, l'un ou l'autre bloc de code fonctionnera. Comme vous l'avez probablement déjà compris, si socket est égal à 1, alors le premier bloc de code fonctionnera. Si socket est égal à 2, alors le deuxième bloc de code fonctionnera et si socket a une autre valeur (même un nombre négatif) alors le troisième bloc de code fonctionnera.

Raccourci pour if else

La notation abrégée peut être utilisée lorsque, selon certaines conditions, une variable peut recevoir l'une ou l'autre valeur.


Par exemple, si la valeur de la variable a plus grande valeur variable b, alors dans la variable x nous écrirons le message suivant : « La variable a est supérieure à la variable b », sinon nous écrirons que « La variable a est inférieure à la variable b ».

Var a = 50, b = 100, x ; x = (une > b) ? "

Variable a plus variable b

" : "

Variable a moins variable b

"; //Affiche le résultat résultant document.write(x);

C'est tout ce que je voulais vous dire dans cet article. Opérateur conditionnel if-else est utilisé plus que dans tous les scripts, il est donc très important de le connaître et de le comprendre. Dans le prochain article, je vous parlerai d'un autre cas de changement d'opérateur conditionnel.