Constantes et littéraux en C : Types, utilisation et bonnes pratiques
Les constantes sont des valeurs fixes que le programme ne peut pas modifier pendant son exécution. On les appelle aussi littéraux.
Elles peuvent être de tout type de base : constante entière, flottante, caractère, chaîne de caractères. Il existe aussi des constantes d'énumération.
Traitées comme des variables normales, sauf que leur valeur ne peut pas changer après définition.
Littéraux entiers
Un littéral entier peut être décimal, octal (préfixe 0), ou hexadécimal (préfixe 0x ou 0X).
Suffixe possible : U (unsigned), L (long), combinables, majuscules ou minuscules, ordre libre.
Exemples :
212 /* Légal */ 215u /* Légal */ 0xFeeL /* Légal */ 078 /* Illégal : 8 n'est pas un chiffre octal */ 032UU /* Illégal : suffixe répété */
Autres exemples :
85 /* décimal */ 0213 /* octal */ 0x4b /* hexadécimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
Littéraux à virgule flottante
Partie entière, point décimal, partie fractionnaire, partie exposant. Forme décimale ou exponentielle.
Forme décimale : point décimal, exposant, ou les deux. Forme exponentielle : partie entière, partie fractionnaire, ou les deux. Exposant signé introduit par e ou E.
3.14159 /* Légal */ 314159E-5L /* Légal */ 510E /* Illégal : exposant incomplet */ 210f /* Illégal : pas de point ni exposant */ .e55 /* Illégal : partie entière ou fractionnaire manquante */
Constantes de caractères
Entourées de guillemets simples : 'x' stockable dans un char.
Peut être : caractère simple ('x'), séquence d'échappement ('\t'), caractère universel ('\u02C0').
Certains caractères précédés de \ ont un sens spécial :
| Séquence | Signification |
|---|---|
| \\ | Caractère \ |
| \' | Caractère ' |
| \" | Caractère " |
| \? | Caractère ? |
| \a | Alerte (beep) |
| \b | Retour arrière |
| \f | Saut de page |
| \n | Nouvelle ligne |
| \r | Retour chariot |
| \t | Tabulation horizontale |
| \v | Tabulation verticale |
| \ooo | Nombre octal (1-3 chiffres) |
| \xhh... | Nombre hexadécimal (1+ chiffres) |
Exemple :
#include <stdio.h>
int main() {
printf("Hello\tWorld\n\n");
return 0;
}
Résultat :
Hello World
Littéraux de chaîne
Entourés de guillemets doubles "". Contiennent caractères simples, séquences d'échappement, caractères universels.
On peut couper une longue ligne en plusieurs littéraux chaînes séparés par des espaces blancs :
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
Les trois formes sont identiques.
Définir des constantes
Deux méthodes simples :
- Préprocesseur #define
- Mot-clé const
Le préprocesseur #define
#define identificateur valeur
Exemple :
#include <stdio.h>
#define LONGUEUR 10
#define LARGEUR 5
#define NEWLINE '\n'
int main() {
int aire = LONGUEUR * LARGEUR;
printf("Aire : %d", aire);
printf("%c", NEWLINE);
return 0;
}
Résultat : Aire : 50
Le mot-clé const
const type variable = valeur;
Exemple :
#include <stdio.h>
int main() {
const int LONGUEUR = 10;
const int LARGEUR = 5;
const char NEWLINE = '\n';
int aire = LONGUEUR * LARGEUR;
printf("Aire : %d", aire);
printf("%c", NEWLINE);
return 0;
}
Résultat : Aire : 50
Bonne pratique : définir les constantes en MAJUSCULES.
Langue C
- Résumé complet des résistances, inductances et condensateurs dans les circuits alternatifs
- Comprendre les mots-clés et identificateurs C# : règles, listes et bonnes pratiques
- Classes et objets C# : Fondations pour une POO robuste
- Maîtriser les classes et méthodes abstraites C# : Guide pratique
- Comprendre les classes et méthodes partielles C#
- Maîtriser les classes et méthodes sealed en C# : Quand les utiliser, exemples clairs et sécurité du code
- Maîtriser les variables, littéraux et constantes en C++ : Guide complet
- Mots-clés et identificateurs en C : Guide pratique
- Variables, constantes et littéraux en C : Guide complet