L'opérateur ternaire ? : en C ++




тернарный оператор ?: C++

espoir, vous êtes bien fait affaire avec le thème sélectionnez si et else et vous n'êtes pas trop difficile à résoudre tâches sur ce sujet. La même leçon nous continuons à apprendre les rudiments de la programmation en C ++, et se familiariser avec un autre opérateur de sélection (branche) – il opérateur ternaire ? :

Il est généralement utilisé dans les cas, et si le code de condition, qu'il est nécessaire d'effectuer, les conditions de balayage, très simple. par exemple, demander à l'utilisateur s'il veut continuer à travailler dans le programme ou si vous voulez en sortir. La syntaxe est:

тернарный оператор ?:

Tout d'abord, nous avons besoin d'écrire une condition nécessaire pour nous et de mettre un point d'interrogation derrière elle ? . plus, dans la même ligne, après le point d'interrogation écriture d'abord une simple commande (à), qui sera effectuée, si la condition renvoie true (vrai). Après cette commande, nous avons mis un colon : et écrire une seconde commande (à). Cette deuxième équipe après les deux points, exécutée uniquement si, si la condition renvoie false (faux).

exemple. Supposons qu'un utilisateur retire de l'argent à un guichet automatique. Il avait l'opération, et l'écran devrait apparaître question: “Vous souhaitez effectuer une autre opération?” L'utilisateur doit faire un choix (oui ou non) et appuyez sur le bouton correspondant. Nous organisons la sélection du programme suivant:

L'utilisateur effectue une sélection et entre une valeur – rangée 13. En ligne 15 nous vérifions la valeur saisie. Si la condition == variables 1 résultats vrai (autrement dit, si la variable est vraiment 1), le code exécuté, situé après le point d'interrogation ? . et, soit après le côlon : – ignoré. autrement, si l'utilisateur est entré 0, ignoré le code situé entre ? et : , et le second code est exécuté. Voici le résultat du travail si elle est introduite 1:

тернарный оператор ?:

si 0:

тернарный оператор ?:

Voici un autre exemple intéressant. il, en utilisant l'opérateur ternaire, minimum déterminé et le nombre maximum des deux valeurs, qui va présenter à l'utilisateur.

Considérez la ligne 20. Le code sera exécuté comme – première course pour l'opérateur ternaire, retourne une valeur basée sur l'état de livraison, et après que la valeur est écrite dans la variable max. Si la condition (FIRSTDIGIT > secondDigit) – vérité, sens FIRSTDIGIT enregistré en max , si elle est fausse, la valeur enregistrée secondDigit. En outre, il faut comprendre toute. Kompiliruem:

тернарный оператор ?:

Le programme fonctionne très bien!

Un peu de l'opérateur ternaire est dit dans ce tutoriel vidéo (15-procès-verbal). outre, il aborde le même opérateur choix multiple interrupteur (17-procès-verbal) et instructions conditionnelles si et autre




enfin ajouter, il est recommandé de ne pas certains accords sur le codage à utiliser l'opérateur ternaire parce, il réduit la lisibilité du code. Mais il est nécessaire de connaître, puisque personne ne peut prédire, quels codes ont besoin pour trouver et lire l'avenir. Codage conventions plus longues peuvent être trouvées dans notre article code source de mise en forme.

Diriez-vous “merci” auteur? – Partagez cet article avec vos amis. Pour ce faire, cliquez sur le bouton de votre réseau social ci-dessous cet article. Je serai heureux! :)

Bulletin de nouvelles leçons sur la programmation:

L'opérateur ternaire ? : en C ++
4.7 (93.33%) 3 votes

7 réflexions sur "L'opérateur ternaire ? : en C ++

  1. IMHO devrait être ajouté, que toutes les conventions de codage sont généralement autorisés à utiliser l'opérateur ternaire, tk. tombe souvent lisibilité du code de.

    comme ça:

    certainement mieux à faire.
    1) Vous avez la variable – une variable de type bool, == Donc variables 1 est remplacée par une variable.
    2) Voulez-vous comparer des variables booléennes avec entier, il peut confondre d'autres programmeurs.
    3) Selon certains accords sur le codage par rapport à l'égalité doit être une expression constante dans le côté gauche (Échec de l'écriture variable = 1 variables вместо == 1, tk. 1 = Variable génère une erreur lors de la compilation).
    4) Je l'aurais écrit:

    Un certain nombre de camarades conseillé d'écrire à la place une véritable variable == variables, mais ici, il est possible de faire valoir :).

    En général tout le code tel. Je l'ai:

    remplacé en tant que (sur):

    alors il ne fait aucun sens pour effectuer une comparaison 2 fois et cela n'a aucun sens de prendre la condition entre parenthèses

    Le dernier exemple montre, que le colon est pas partagée par une équipe et l'autre équipe (comme votre silhouette), et d'expression. D'ailleurs, je voudrais mentionner, que l'opérateur virgule renvoie la même valeur.

    1. rrrFer (alias Vladimir), c'est super, que vous relisez si soigneusement notre article. Que pouvez-vous dire à votre commentaire? Je dirai ceci – améliorer et optimiser le code peut être à l'infini. En raison de vos lecteurs verront le commentaire, cette même tâche peut être résolu de différentes manières et qu'il existe différentes options pour traiter avec des variables bulevksimi. Dans votre cas, est un code plus optimisé. Mais mon code est peint plus en détail (donc nous nous concentrons principalement sur les nouveaux arrivants) et de même,, comme votre code, Il a le droit à la vie.
      P.S. Assermentation de vos commentaires supprimés et dans l'avenir, ils ne voudraient pas voir

      1. Emmm… mes commentaires juraient? )

        Je ne suis même pas relu les articles, Je regardais le dessin et le code source.

        Le point ici est pas dans l'optimisation, et jambages potentiels, qui ne sera jamais apparaître si vous suivez quelques accords.

        Eh bien, par exemple, Lorsque vous comparez une variable booléenne à un nombre entier, ce qui se passe? – Il va apporter un bool int, alors fixé dans la norme, qui correspond à la vraie unité, а faux – zéro. Mais si un nombre entier jeté bool, la 2 == Vrai serait de retourner vrai (mais il est, Bien que toutes sortes d'étudiants et les écoliers peuvent douter, parce qu'ils ne lisent pas la norme).

        A propos de l'accord, je l'ai écrit à la, il y a des pièges. Par exemple, une fois que vous écrivez une classe de nombres complexes et rechargez pour un opérateur de comparaison, et l'opérateur de cast du type bool. Je pense que, qui peut recevoir un comportement différent et dangereux dans ce cas. à savoir. correctes pour comparer les variables du même type, et non pas attendre à ce que cela jette automatiquement.

        Je pense que, que l'accent devrait être fait sur une affaire, quand il est nécessaire d'utiliser l'opérateur ternaire, à savoir. quand il est utile. Sans elle, tout ce que vous pouvez faire, mais il est du sucre syntaxique, qui sont souvent les élèves et les étudiants victimes de violence. écrire comme ceci au sujet:

        Nous avons un accord pour les cas de codage ont été répertoriés où l'opérateur est autorisé à utiliser afin d'empêcher un tel code ici.

      2. Nous sommes entièrement d'accord, sans que l'opérateur ternaire peut faire dans la programmation. Mais vous devez savoir, tel qu'il y a, à quoi il ressemble et comment il fonctionne. Vous ne savez jamais, le code de certaines personnes que vous avez lu et qu'il sera utilisé.

  2. Dans l'exemple de si les valeurs d'autre max et min prendre 0, S'il vous plaît expliquer ce que l'erreur?

  3. а можно привести пример на си с использованием тернарного оператора для поиска минимального из трех чисел? никак не могу сообразить((

Laisser un commentaire

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *