Priorité des opérateurs en langage C (exemple de code)

藏色散人
Libérer: 2020-09-14 09:36:53
original
91533 Les gens l'ont consulté

Priorité des opérateurs en langage C : 1. Les opérateurs de premier niveau ont des identifiants et des constantes ; 2. Les opérateurs de deuxième niveau incluent des opérations d'indice de tableau et des appels de fonction ; 3. Les opérateurs de troisième niveau ont des préfixes d'incrémentation et de décrémentation de préfixe ; ; 4. L'opérateur de quatrième niveau force l'expression à devenir un type spécifié ; 5. L'opérateur de cinquième niveau est l'opérateur de multiplication, etc.

Priorité des opérateurs en langage C (exemple de code)

Par exemple, x = 7 + 3 * 2 ; Ici, x reçoit la valeur 13 au lieu de 20 car la priorité de l'opérateur * est supérieure à + , donc il multiplie d'abord 3*2 puis l'ajoute à 7.

Ici, l'opérateur de priorité la plus élevée apparaît en haut du tableau et l'opérateur de priorité la plus basse apparaît en bas du tableau. Dans une expression, les opérateurs ayant une priorité plus élevée sont évalués en premier.

  • Opérateurs de premier niveau : les identifiants, les constantes, les littéraux de chaîne, les expressions de promotion prioritaire sont exécutés en premier.

  • Opérateurs secondaires : opération d'indice de tableau (expression), appel de fonction (liste d'expressions d'arguments), accès aux membres (identifiant, -> identifiant), incrément de suffixe (i++), suffixe décrémentation (i--), initialisation composite (initializer-list).

  • Opérateurs de troisième niveau : incrément de préfixe (++i), décrémentation de préfixe (--i), expression de transformation unaire (obtenir l'adresse &, retirer *, signe positif +, signe négatif -, inversion de bits ~ non logique !), trouvez la longueur du type (taille de l'expression unaire).

  • Opérateur de quatrième niveau : force l'expression à devenir le type spécifié par type-name (type-name) cast-expression.

  • Opérateurs à cinq niveaux : opérateur de multiplication " * ".

  • Opérateurs à six niveaux : opérateur d'addition " + ".

  • Opérateurs à sept niveaux : << opérateur de décalage à gauche >>

  • Opérateurs à huit niveaux : <, <=, >, >= opérateurs relationnels.

  • Opérateurs à neuf niveaux : " == " est égal à l'opérateur ; " != " n'est pas égal à l'opérateur.

  • Opérateur de dixième niveau : "&" opérateur ET au niveau du bit.

  • Opérateur de onzième niveau : "∧" opérateur XOR au niveau du bit.

  • Opérateurs à douze niveaux : " | " opérateur OU au niveau du bit.

  • Opérateur de treizième niveau : "&&" opérateur ET logique.

  • Opérateur de quatorzième niveau : "||" Opérateur OU logique.

  • Opérateurs de quinzième niveau :   Opérateur conditionnel.

La priorité des opérateurs en langage C est la suivante (de haut en bas) :

运算符 关联性
() [] -> . ++ - - 左到右
+ - ! ~ ++ - - (type)* & sizeof 右到左
* / % 左到右
+ - 左到右
<< >> 左到右
< <= > >= 左到右
== != 左到右
& 左到右
^ 左到右
| 左到右
&& 左到右
|| 左到右
?: 右到左
= += -= *= /= %=>>= <<= &= ^= |= 右到左
, 左到右

Exemple de priorité des opérateurs en C :

#include <stdio.h>main() {

   int a = 20;
   int b = 10;
   int c = 15;
   int d = 5;
   int e;
 
   e = (a + b) * c / d;      // ( 30 * 15 ) / 5
   printf("Value of (a + b) * c / d is : %d\n",  e );

   e = ((a + b) * c) / d;    // (30 * 15 ) / 5
   printf("Value of ((a + b) * c) / d is  : %d\n" ,  e );

   e = (a + b) * (c / d);   // (30) * (15/5)
   printf("Value of (a + b) * (c / d) is  : %d\n",  e );

   e = a + (b * c) / d;     //  20 + (150/5)
   printf("Value of a + (b * c) / d is  : %d\n" ,  e );
  
   return 0;}
Copier après la connexion

Sortie :

Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90
Value of (a + b) * (c / d) is  : 90
Value of a + (b * c) / d is  : 50
Copier après la connexion

Recommandations associées : "Tutoriel C"

Cet article est une introduction à la priorité des opérateurs en langage C. J'espère qu'il sera utile aux amis dans le besoin !

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!