Programmation en C – Constantes et Littérales

Les constantes font référence à des valeurs fixes que le programme ne peut pas les modifier pendant son exécution. Ces valeurs fixes sont également appelées littéraux.

Les constantes peuvent être de n’importe quel type de données de base comme une constante entière, une constante flottante, une constante de caractère ou une chaîne littérale. Il y a aussi des constantes d’énumération.

Les constantes sont traitées comme des variables régulières, sauf que leurs valeurs ne peuvent pas être modifiées après leur définition.
 
 

Entier littéral

Un entier littéral peut être une constante décimale, octale ou hexadécimale. Un préfixe spécifie la base : 0x ou 0X pour hexadécimal, 0 pour octal et rien pour décimal.

Un entier littéral peut également avoir un suffixe qui est une combinaison de U et L, pour unsigned et long, respectivement. Le suffixe peut être en majuscules ou en minuscules et peut être dans n’importe quel ordre.

Voici quelques exemples de littéraux entiers

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 N'est pas un chiffre octal */
032UU       /* Illegal: Ne répéter pas un suffixe */

Voici d’autres exemples de divers types entiers littéraux

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

 

Littéral à virgule flottante

Un littéral à virgule flottante a une partie entière, un point décimal, une partie fractionnaire et une partie d’exposant. Vous pouvez représenter des littéraux en virgule flottante sous forme décimale ou exponentielle.

Tout en représentant une forme décimale, vous devez inclure le point décimal, l’exposant ou les deux; Et tout en représentant une forme exponentielle, vous devez inclure la partie entière, la partie fractionnaire ou les deux. « Signed » exposant est introduit par e ou E.

Voici quelques exemples de littéraux en virgule flottante :

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: Exposant incomplet */
210f          /* Illegal: Pas de décimale ou d'exposant */
.e55          /* Illegal: La partie entier ou fraction manquant */

 
 

Les caractères littéraux

Les caractères littéraux sont entourés de guillemets simples, par exemple, ‘x’ peut être stocké dans une variable simple de type char.

Un caractère littéral peut être un caractère simple (par exemple, ‘x’), une séquence d’échappement (par exemple ‘ t’) ou un caractère universel (par exemple, ‘ u02C0’).

Il existe certains caractères dans C qui représentent une signification spéciale lorsqu’ils sont précédés d’une barre oblique inverse, par exemple, newline ( n) ou tab ( t).

Voici la liste des codes de séquence d’échappement :

Séquence d’échappement Signification
\ caractère
caractère ‘
" caractère "
? caractère ?
a Alerte ou cloche
b Retour arrière
f Form feed (nouvelle page)
n Newline
r Retour chariot (même ligne)
t Horizontal tab
v Vertical tab
ooo Octal number of one to three digits
xhh . . . Hexadecimal number of one or more digits

Voici l’exemple pour montrer quelques caractères de séquence d’échappement :

#include <stdio.h>
int main() {
   printf("Hello\tWorld\n\n");
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Hello     World

 

Les Chaîne de caractères :

Les chaînes de caractères ou les constantes sont placées entre guillemets "". Une chaîne de caractères contient des caractères similaires à des caractères littéraux: caractères simples, séquences d’échappement et caractères universels.

Vous pouvez diviser une longue ligne en plusieurs lignes en utilisant des littéraux de chaîne de caractères et les séparer en utilisant des espaces blancs.

Voici quelques exemples de littéraux de chaîne de caractères. Toutes les trois formes sont des chaînes de caractères identiques.

"Bonjour, mon ami"

"Bonjour, 

mon ami"

"Bonjour, " "mon" "ami"

 
 

Définition des constantes :

Il existe deux méthodes simples pour définir des constantes :

  • Utilisation du préprocesseur #define .
  • Utilisation du mot clé const.
Le préprocesseur #define

Ci-dessous est la forme à utiliser pour définir une constante grâce au préprocesseur #define

#define identificateur valeur

L’exemple suivant l’explique en détail

#include <stdio.h>
#define LENGTH 10   
#define WIDTH  5
#define NEWLINE 'n'

int main() {

   int zone;  
  
   zone = LENGTH * WIDTH;
   printf("Valeur de la zone : %d", zone);
   printf("%c", NEWLINE);

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Valeur de la zone : 50

 

Le mot-clé const

Vous pouvez utiliser le préfixe const pour déclarer des constantes avec un type spécifique comme suit

const type variable = valeur;

L’exemple suivant l’explique en détail :

#include <stdio.h>

int main() {

   const int  LENGTH = 10;
   const int  WIDTH = 5;
   const char NEWLINE = 'n';
   int zone;  
   
   zone = LENGTH * WIDTH;
   printf("Valeur de la zone : %d", zone);
   printf("%c", NEWLINE);

   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant

Valeur de la zone : 50

Notez que c’est une bonne pratique de programmation de définir les constantes en MAJUSCULES.
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *