Cet article fournit un tutoriel complet pour vous aider à apprendre l'association et la priorité de l'opérateur en C.
Précédence de l'opérateur en C
Avantage de l'opérateur décrit la séquence dans laquelle plusieurs opérateurs sont évalués lors de l'évaluation des expressions. Par exemple, si une expression a à la fois des opérateurs d'addition et de multiplication, dont on doit être évalué en premier? La réponse est simple, C suit certaines règles pour résoudre une telle ambiguïté, communément appelée avantage de l'opérateur. En c, avantage de l'opérateur est classé en 17 niveaux, allant des opérateurs unaires à l'opérateur conditionnel ternaire. La plupart des opérateurs d'occasion comme les opérateurs arithmétiques, les opérateurs relationnels, les opérateurs logiques et les opérateurs bit avantage de l'opérateur protocole.
Priorité Les règles dictent quels opérateurs ont une priorité plus élevée que les autres lors de l'évaluation des expressions. Plusieurs types d'opérateurs dans le langage de programmation C ont divers degrés de priorité. Par exemple, les opérateurs unaires ont une plus grande priorité que les opérateurs binaires. Ce qui suit est une liste d'opérateurs triés par ordre croissant de priorité:
Opérateur | Signification de l'opérateur | Association |
() [] -> . | Appel fonctionnel Référence de l'élément de tableau Sélection des membres indirects Sélection directe des membres | De gauche à droite |
! ~ + - ++ - & * taille de (taper) | Négation logique Complément bitwise (1) Unary plus Unary moins Incrément Diminution Dereference (adresse) Référence du pointeur Renvoie la taille d'un objet TypeCast (conversion) | De droite à gauche |
* / / % | Multiplier Diviser Reste | De gauche à droite |
+ - | Binary Plus (ajout) Binaire moins (soustraction) | De gauche à droite |
<< >> | Décalage à gauche Changement de droite | De gauche à droite |
< <= > > = | Moins que Moins ou égal Plus grand que Meilleur que ou égal | De gauche à droite |
== != | Égal à Pas égal à | De gauche à droite |
& | Dans le monde et | De gauche à droite |
^ | Exclusivité | De gauche à droite |
| | Bit ou | De gauche à droite |
&& | Logique et | De gauche à droite |
|| | Logique ou | De gauche à droite |
?: | Opérateur conditionnel | De droite à gauche |
= * = / = % = += -= & = ^ = | = <<= >> = | Affectation simple Affecter le produit Affecter le quotient Affecter le reste Attribuer une somme Assigner la différence Attribuer un bit et Affecter Bitwise XOR Attribuer un bit ou Affecter le changement de gauche Affecter le shift droit | De droite à gauche |
, | Séparateur des expressions | De gauche à droite |
Ces règles guident le compilateur sur la façon d'évaluer les expressions avec plusieurs opérateurs dans la même expression. L'opérateur de multiplication, par exemple, a une plus grande priorité que l'opérateur d'addition dans l'équation A + B * C, conformément à la priorité règles. Par conséquent, le compilateur évaluera d'abord l'expression b * c avant d'ajouter un au résultat.
Regardons un exemple de avantage de l'opérateur via le code.
#inclureLes quatre variables A, B, C et D, sont déclarées dans le code ci-dessus, et leurs valeurs initiales sont 43, 11, 16 et 31 en conséquence. Ensuite, il applique une variété d'opérateurs d'arithmétiques et d'affectations à ces variables dans une expression. L'expression augmente la valeur de A en utilisant l'opérateur de pré-incrément ++ A, multiplie le résultat par l'opérateur post-décension B. (en utilisant l'opérateur de pré-recrutement -D). Le résultat variable est ensuite utilisé pour maintenir le résultat total de cette expression.
Sortir
Associativité en c
Association fait référence à l'ordre dans lequel les opérateurs sont évalués lors d'une expression avec la même priorité. Gauche à droite et droit à gauche association sont les deux formes d'associativité en c. Si deux opérateurs ont le même priorité, Ils sont évalués de gauche à droite selon le concept de gauche à droite association. Néanmoins, si la même priorité est observée, les opérateurs sont évalués de droite à gauche selon la droite à gauche association.
Par exemple, l'opérateur d'incrément ++ a le droit à gauche association, ce qui signifie l'augmentation opérateur est évalué après la variable. Alors que le logique et opérateur a une gauche à droite association, ce qui signifie que l'opérateur est évalué de gauche à droite.
#inclureLes trois variables A, B et C sont déclarées dans ce code, et ils sont initialisés à 6, 3 et 2 respectivement. Ensuite, il applique des opérations de multiplication et de division à ces variables dans une expression. La multiplication et la division sont classées de gauche à droite en C en fonction de leur association Comme ils ont le même niveau de priorité. Cela indique que l'opération de division passe en premier, suivie de l'opération de multiplication lors de l'évaluation de l'expression, a * b / c.
Sortir
Conclusion
Avantage de l'opérateur et association sont des concepts cruciaux dans la programmation C qui aident à déterminer l'ordre d'exécution des expressions. Les opérateurs avec le plus haut priorité le niveau est évalué en premier et association Les règles aident à déterminer l'ordre lorsque plusieurs opérateurs avec la même priorité sont utilisés. Compréhension avantage de l'opérateur et association est essentiel lors de la conception de programmes complexes, et il aide à produire un code plus propre et plus efficace avec moins d'erreurs.