Constantes et littéraux

En programmation, les constantes et les littéraux sont des valeurs qui ne changent pas pendant l'exécution du programme. En C, il existe deux types de valeurs constantes : les constantes littérales et les constantes symboliques.

Les constantes littérales sont des valeurs qui sont écrites directement dans le code source, telles que des nombres, des caractères ou des chaînes de caractères. Les constantes symboliques, quant à elles, sont des noms qui représentent des valeurs constantes, souvent définies en tant que macros.

Constantes littérales

En C, les constantes littérales peuvent être de plusieurs types différents :

  Les constantes entières : Ce sont des nombres entiers, positifs ou négatifs. Elles peuvent être représentées en décimal (base 10), octal (base 8) ou hexadécimal (base 16). Voici quelques exemples de constantes entières :

diff

15
-42
0777
0xFF

    Les constantes à virgule flottante : Ce sont des nombres à virgule flottante, représentant des valeurs décimales. Elles peuvent être représentées en notation décimale ou en notation exponentielle. Voici quelques exemples de constantes à virgule flottante :

diff

3.14159
-0.5
6.02e23

    Les constantes de caractère : Ce sont des caractères uniques, encadrés par des guillemets simples. Voici quelques exemples de constantes de caractère :

python

'A'
'z'
' '
'@'

    Les constantes de chaîne de caractères : Ce sont des chaînes de caractères, encadrées par des guillemets doubles. Voici quelques exemples de constantes de chaîne de caractères :

"Hello, World!"
"Bienvenue sur le site PandaCodeur.com"

Il est important de noter que les constantes littérales sont toujours des valeurs constantes, ce qui signifie qu'elles ne peuvent pas être modifiées pendant l'exécution du programme.

Constantes symboliques

En C, les constantes symboliques sont définies à l'aide de la directive #define. Cette directive permet de définir un nom pour une valeur constante, qui peut ensuite être utilisée dans le code source. Voici un exemple de déclaration de constante symbolique :

 

#define PI 3.14159

Dans cet exemple, la constante symbolique PI est définie comme ayant une valeur de 3.14159. Cette constante peut ensuite être utilisée dans le code source, comme ceci :

 

float rayon = 5.0;
float aire = PI * rayon * rayon;

Dans cet exemple, la constante PI est utilisée pour calculer l'aire d'un cercle, en multipliant la constante par le carré du rayon.

Il est important de noter que les constantes symboliques sont définies avant le début du code source, et qu'elles peuvent être utilisées dans tout le programme.

 

Conclusion

les constantes et les littéraux sont des éléments clés en programmation en C. Les constantes littérales sont des valeurs directement définies dans le code source, tandis que les constantes symboliques sont des noms définis pour des valeurs constantes. En utilisant des constant

Si vous avez trouvé ce Cours de Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Liens de l’ancien parcours (référence)

<< PREC Suiv>>

Approfondir : Constantes et littéraux

Une constante nommée explique la signification d’une valeur dans un calcul. const et #define répondent à des mécanismes différents, même lorsqu’ils servent tous deux à éviter un nombre répété.

Objet const et macro

const double taux=0.20; définit un objet typé que le programme ne doit pas modifier par cette désignation. #define TAUX 0.20 demande au préprocesseur une substitution. Une macro n’a pas le même mécanisme de portée et de type qu’un objet const ; un nom choisi en majuscules est une convention de lisibilité, pas une règle qui le rend constant.

Parenthèses des macros

Une macro de calcul doit protéger ses paramètres et l’expression entière. #define CARRE(x) ((x)*(x)) traite correctement CARRE(2+3). Cela ne résout pas la répétition des effets de bord : CARRE(i++) évalue son argument plusieurs fois et ne doit pas être utilisé ainsi. Une vraie fonction est souvent préférable.

Caractère et chaîne

En C, une constante caractère ordinaire comme 'A' a le type int ; une chaîne comme "A" est un tableau contenant le caractère et un nul final. Une variable char peut recevoir la valeur de la constante caractère, mais elle n’est pas un stockage pour une chaîne entière.

Constantes : calculer avec une valeur nommée

#include <stdio.h>
#define CARRE(x) ((x) * (x))
int main(void) {
    const double taux = 0.20;
    double prix = 50.0;
    printf("Taxe = %.2f\n", prix * taux);
    printf("Carre = %d\n", CARRE(2 + 3));
    return 0;
}
Suivre le programme : Constantes, calculer avec une valeur nommée
Instruction ou étapeExplication
const doubleLe taux a un type et une initialisation explicites.
prix*taux50×0.20 donne 10.
CARRE(2+3)Les parenthèses donnent (2+3)*(2+3), soit 25.

Sortie écran : essai 1

L’argument de la macro ne comporte aucun effet de bord.

Taxe = 10.00
Carre = 25

S’entraîner et vérifier

Exercice 1. Pourquoi une fonction carré évite-t-elle un problème des macros ?

Voir la correctionMasquer la correction

Un argument d’appel est évalué une fois pour fournir sa valeur au paramètre. La fonction peut ensuite utiliser ce paramètre plusieurs fois sans répéter l’évaluation de l’expression d’origine.

Pratiquer avec le TD/TP 1 corrigé · Tous les exercices C.

Repère de lecture : les codes proposés utilisent des constructions disponibles en C11. Les règles du langage et de sa bibliothèque sont consultables dans les projets publics du WG14 (C11) et du WG14 (C23). Les exemples n’utilisent pas les nouveautés propres à C23.

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
★ ★ ★ ★ ★
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam