if statement
Exécute conditionnellement du code.
Utilisé lorsque le code doit être exécuté uniquement si une certaine condition est vraie.
Table des matières |
Syntaxe
attr-spec-seq
(optionnel)
if (
expression
)
instruction-vraie
|
(1) | ||||||||
attr-spec-seq
(optionnel)
if (
expression
)
instruction-vraie
else
instruction-fausse
|
(2) | ||||||||
| attr-spec-seq | - | (C23) une liste optionnelle d' attributs , appliquée à l'instruction if |
| expression | - | une expression de tout type scalaire |
| statement-true | - | toute instruction (souvent une instruction composée), qui est exécutée si expression est différente de 0 |
| statement-false | - | toute instruction (souvent une instruction composée), qui est exécutée si expression est égale à 0 |
Explication
expression doit être une expression de tout type scalaire .
Si expression est différent de zéro, statement-true est exécuté.
Dans la forme (2) , si expression est égale à zéro entier, statement-false est exécuté.
|
Comme toutes les autres instructions de sélection et d'itération, l'instruction if complète possède sa propre portée de bloc : enum {a, b}; int different(void) { if (sizeof(enum {b, a}) != sizeof(int)) return a; // a == 1 return b; // b == 0 in C89, b == 1 in C99 } |
(depuis C99) |
Notes
Le else est toujours associé au if précédent le plus proche (en d'autres termes, si statement-true est également une instruction if , alors cette instruction if interne doit également contenir une partie else ):
`
- Préservation des termes spécifiques C++ (`int`, `if`, `else`, `printf`)
- Traduction uniquement du texte anglais en français ("and" → "et", "this else is part of" → "ce else fait partie du")
Si statement-true est atteint via une goto , statement-false n'est pas exécuté.
Mots-clés
Exemple
Sortie :
i > 2 is false i == 3 i != 3 is false
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 6.8.5.2 L'instruction if (p: 154)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 6.8.4.1 L'instruction if (p: 108-109)
- Norme C11 (ISO/IEC 9899:2011):
-
- 6.8.4.1 L'instruction if (p: 148-149)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 6.8.4.1 L'instruction if (p: 133-134)
- Norme C89/C90 (ISO/IEC 9899:1990) :
-
- 3.6.4.1 L'instruction if
Voir aussi
|
Documentation C++
pour
if
statement
|