Guide complet des opérateurs C : Types, fonctions et exemples
Un opérateur est un symbole indiquant au compilateur d'effectuer une opération mathématique ou logique spécifique. Le C est riche en opérateurs intégrés :
- Opérateurs arithmétiques
- Opérateurs relationnels
- Opérateurs logiques
- Opérateurs bit à bit
- Opérateurs d'affectation
- Opérateurs divers
Supposons A = 10 et B = 20 pour les exemples.
Opérateurs arithmétiques
| Opérateur | Description | Exemple |
|---|---|---|
| + | Addition | A + B = 30 |
| - | Soustraction | A - B = -10 |
| * | Multiplication | A * B = 200 |
| / | Division | B / A = 2 |
| % | Modulo (reste division entière) | B % A = 0 |
| ++ | Incrémentation | A++ = 11 |
| -- | Décrémentation | A-- = 9 |
Opérateurs relationnels
| Opérateur | Description | Exemple |
|---|---|---|
| == | Égalité | (A == B) est faux |
| != | Différence | (A != B) est vrai |
| > | Supérieur strict | (A > B) est faux |
| < | Inférieur strict | (A < B) est vrai |
| >= | Supérieur ou égal | (A >= B) est faux |
| <= | Inférieur ou égal | (A <= B) est vrai |
Opérateurs logiques
Supposons A = 1 (vrai) et B = 0 (faux) :
| Opérateur | Description | Exemple |
|---|---|---|
| && | ET logique : vrai si les deux opérandes non-nuls | (A && B) est faux |
| || | OU logique : vrai si au moins un opérande non-nul | (A || B) est vrai |
| ! | NON logique : inverse l'état logique | !(A && B) est vrai |
Opérateurs bit à bit
Travaillent sur les bits. Tables de vérité pour &, |, ^ :
| p | q | p & q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Avec A = 60 (0011 1100) et B = 13 (0000 1101) :
A & B = 12 (0000 1100) A | B = 61 (0011 1101) A ^ B = 49 (0011 0001) ~A = -61 (1100 0011 en complément à deux)
| Opérateur | Description | Exemple |
|---|---|---|
| & | ET bit à bit | (A & B) = 12 |
| | | OU bit à bit | (A | B) = 61 |
| ^ | OU exclusif bit à bit | (A ^ B) = 49 |
| ~ | Complément à un (inversion bits) | (~A) = -61 |
| << | Décalage gauche | A << 2 = 240 |
| >> | Décalage droit | A >> 2 = 15 |
Opérateurs d'affectation
| Opérateur | Description | Exemple |
|---|---|---|
| = | Affectation simple | C = A + B |
| += | Addition et affectation | C += A ≡ C = C + A |
| -= | Soustraction et affectation | C -= A ≡ C = C - A |
| *= | Multiplication et affectation | C *= A ≡ C = C * A |
| /= | Division et affectation | C /= A ≡ C = C / A |
| %= | Modulo et affectation | C %= A ≡ C = C % A |
| <<= | Décalage gauche et affectation | C <<= 2 ≡ C = C << 2 |
| >>= | Décalage droit et affectation | C >>= 2 ≡ C = C >> 2 |
| &= | ET bit à bit et affectation | C &= 2 ≡ C = C & 2 |
| ^= | OU exclusif bit à bit et affectation | C ^= 2 ≡ C = C ^ 2 |
| |= | OU bit à bit et affectation | C |= 2 ≡ C = C | 2 |
Opérateurs divers : sizeof et ternaire
| Opérateur | Description | Exemple |
|---|---|---|
| sizeof() | Taille d'une variable/type en octets | sizeof(int) = 4 |
| & | Adresse d'une variable | &a |
| * | Pointeur (indirection) | *a |
| ? : | Expression conditionnelle (ternaire) | cond ? val_si_vrai : val_si_faux |
Priorité des opérateurs en C
La priorité détermine le groupement et l'ordre d'évaluation. Priorité haute = évalué en premier.
| Catégorie | Opérateurs | Associativité |
|---|---|---|
| Postfixe | () [] -> . ++ -- | Gauche → droite |
| Unaire | + - ! ~ ++ -- (type)* & sizeof | Droite → gauche |
| Multiplicative | * / % | Gauche → droite |
| Additive | + - | Gauche → droite |
| Décalage | << >> | Gauche → droite |
| Relationnelle | < <= > >= | Gauche → droite |
| Égalité | == != | Gauche → droite |
| ET bit à bit | & | Gauche → droite |
| OU exclusif bit à bit | ^ | Gauche → droite |
| OU bit à bit | | | Gauche → droite |
| ET logique | && | Gauche → droite |
| OU logique | || | Gauche → droite |
| Conditionnel | ?: | Droite → gauche |
| Affectation | = += -= *= /= %= >>= <<= &= ^= |= | Droite → gauche |
| Virgule | , | Gauche → droite |
Exemple : x = 7 + 3 * 2 → x = 13 (pas 20) car * a priorité sur +.
Langue C
- Opérateurs C# — Guide complet des opérateurs en C#
- Maîtriser les opérateurs bit à bit et de décalage en C# : Guide complet
- Maîtriser les opérateurs C++ : Guide complet avec exemples pratiques
- Maîtriser les opérateurs en programmation C : Guide complet
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Maîtriser les opérateurs bit à bit en C : ET, OU, XOR, décalages et complément
- Opérateurs Verilog : Arithmétiques et de contrôle essentiels pour la synthèse
- Essentiels Java : Guide Complet des Opérateurs de Base