Les expressions
De ZbahWiki.
Les valeurs sont le type le plus primitif des expressions. Des expressions plus complexes sont formés à partir des valeurs en utilisant différents opérateurs.
Les constantes numériques sont représentés dans le NXT par des entiers ou des valeurs en virgule flottante.
Le type dépend de la valeur de la constante. NXC utilise en interne 32 bits à virgule flottante pour l'évaluation des expressions constantes. Les constantes numériques sont écrites soit décimale (par exemple 123, 3.14) ou hexadécimale (par exemple 0xABC).
Actuellement, il ya très peu de gamme de contrôle sur les constantes, car utiliser une valeur plus importante que prévu peut produire des résultats inhabituels.
Deux valeurs spéciales sont prédéfinies: vrai(true) et faux(false). La valeur false est un zéro (0), tandis que la valeur true est un (1). Ces mêmes valeurs sont renvoyées pour les opérateurs relationnels (par exemple, <): lorsque la relation est fausse la valeur est 0, sinon la valeur est 1. Les valeurs peuvent être combinées avec les opérateurs. Les opérateurs du NXC sont énumérés ici par ordre de priorité par ordre décroissant.
Opérateur | Description | Associativité | Restriction | Exemple | |
---|---|---|---|---|---|
abs() | Valeur absolue | abs(x); | |||
sign() | signe de la valeur | sign(x); | |||
++,-- | (pré/post)(in/dé)crementeur | gauche ou droite | Seulement sur les variables | x++; | |
- | moins unaire | droite | -x; | ||
~ | négation bit à bit | droite | ~123; | ||
! | négation logique | droite | !x; | ||
*,/,% | multiplication, division, module | gauche | x*y; | ||
+,- | addition, soustraction | gauche | x+y; | ||
<<,>> | décalage de bit à gauche ou a droite | gauche | x << 4; | ||
<,>,<=,>= | opérateurs relationnels | gauche | x<y; | ||
==,!= | égal ou différent | gauche | x==1; | ||
& | et logique bit à bit | gauche | x&y; | ||
^ | ou exclusif bit à bit | gauche | x^y; | ||
ou inclusif bit à bit | gauche | x|y; | |||
&& | et logique | gauche | x && y; | ||
ou logique | gauche | x || y; | |||
?: | operateurs ternaires | droite | x==1?y:z; |
Le cas échéant, les parenthèses sont utilisées pour modifier l'ordre d'évaluation:
x = 2 + 3 * 4; // x vaut 14 y = (2 + 3) * 4; // y vaut 20