logo

Spécificateur de format C

Le spécificateur de format est une chaîne utilisée dans les fonctions d'entrée et de sortie formatées. La chaîne de format détermine le format de l'entrée et de la sortie. La chaîne de format commence toujours par un caractère '%'.

Les spécificateurs de format couramment utilisés dans la fonction printf() sont :

Spécificateur de format Description
%d ou %i Il est utilisé pour imprimer la valeur entière signée, où l'entier signé signifie que la variable peut contenir à la fois des valeurs positives et négatives.
%dans Il est utilisé pour imprimer la valeur entière non signée où l'entier non signé signifie que la variable ne peut contenir qu'une valeur positive.
%O Il est utilisé pour imprimer l'entier octal non signé où la valeur entière octale commence toujours par une valeur 0.
%X Il est utilisé pour imprimer l'entier hexadécimal non signé où la valeur entière hexadécimale commence toujours par une valeur 0x. Dans celui-ci, les caractères alphabétiques sont imprimés en petites lettres telles que a, b, c, etc.
%X Il est utilisé pour imprimer l'entier hexadécimal non signé, mais %X imprime les caractères alphabétiques en majuscules tels que A, B, C, etc.
%F Il est utilisé pour imprimer les valeurs décimales à virgule flottante. Par défaut, il imprime les 6 valeurs après '.'.
%et et Il est utilisé pour la notation scientifique. Il est également connu sous le nom de mantisse ou exposant.
%g Il est utilisé pour imprimer les valeurs décimales à virgule flottante et utilise la précision fixe, c'est-à-dire que la valeur après la décimale en entrée serait exactement la même que la valeur en sortie.
%p Il est utilisé pour imprimer l'adresse sous forme hexadécimale.
%c Il est utilisé pour imprimer le caractère non signé.
%s Il est utilisé pour imprimer les chaînes.
%ld Il est utilisé pour imprimer la valeur entière signée longue.

Comprenons les spécificateurs de format en détail à travers un exemple.

    %d
 int main() { int b=6; int c=8; printf('Value of b is:%d', b); printf('
Value of c is:%d',c); return 0; } 

Dans le code ci-dessus, nous imprimons la valeur entière de b et c en utilisant le spécificateur %d.

Sortir

Spécificateur de format C
    %dans
 int main() { int b=10; int c= -10; printf('Value of b is:%u', b); printf('
Value of c is:%u',c); return 0; } 

Dans le programme ci-dessus, nous affichons la valeur de b et c en utilisant un spécificateur de format non signé, c'est-à-dire %u. La valeur de b est positive, donc le spécificateur %u imprime la valeur exacte de b, mais il n'imprime pas la valeur de c car c contient la valeur négative.

Sortir

Spécificateur de format C
    %O
 int main() { int a=0100; printf('Octal value of a is: %o', a); printf('
Integer value of a is: %d',a); return 0; } 

Dans le code ci-dessus, nous affichons la valeur octale et la valeur entière de a.

Sortir

Spécificateur de format C
    %x et %X
 int main() { int y=0xA; printf('Hexadecimal value of y is: %x', y); printf('
Hexadecimal value of y is: %X',y); printf('
Integer value of y is: %d',y); return 0; } 

Dans le code ci-dessus, y contient la valeur hexadécimale « A ». Nous affichons la valeur hexadécimale de y dans deux formats. Nous utilisons %x et %X pour imprimer la valeur hexadécimale où %x affiche la valeur en minuscules, c'est-à-dire 'a' et %X affiche la valeur en majuscule, c'est-à-dire 'A'.

Sortir

Spécificateur de format C
    %F
 int main() { float y=3.4; printf('Floating point value of y is: %f', y); return 0; } 

Le code ci-dessus imprime la valeur flottante de y.

Sortir

Spécificateur de format C
    %C'est
 int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; } 

Sortir

connexions en Java
Spécificateur de format C
    %ET
 int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; } 

Sortir

Spécificateur de format C
    %g
 int main() { float y=3.8; printf('Float value of y is: %g', y); return 0; } 

Dans le code ci-dessus, nous affichons la valeur flottante de y en utilisant le spécificateur %g. Le spécificateur %g affiche la sortie comme l'entrée avec la même précision.

Sortir

Spécificateur de format C
    %p
 int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; } 

Sortir

Spécificateur de format C
    %c
 int main() { char a='c'; printf('Value of a is: %c', a); return 0; } 

Sortir

Spécificateur de format C
    %s
 int main() { printf('%s', 'javaTpoint'); return 0; } 

Sortir

Spécificateur de format C

Spécificateur de largeur de champ minimale

Supposons que nous souhaitions afficher une sortie qui occupe un nombre minimum d'espaces sur l'écran. Vous pouvez y parvenir en affichant un nombre entier après le signe de pourcentage du spécificateur de format.

 int main() { int x=900; printf('%8d', x); printf('
%-8d',x); return 0; } 

Dans le programme ci-dessus, le spécificateur %8d affiche la valeur après 8 espaces tandis que le spécificateur %-8d alignera la valeur à gauche.

Sortir

Spécificateur de format C

Nous allons maintenant voir comment remplir les espaces vides. Il est affiché dans le code ci-dessous :

 int main() { int x=12; printf('%08d', x); return 0; } 

Dans le programme ci-dessus, %08d signifie que l'espace vide est rempli de zéros.

Sortir

Harald Baldr
Spécificateur de format C

Spécification de la précision

Nous pouvons spécifier la précision en utilisant '.' Opérateur (Point) suivi d'un entier et d'un spécificateur de format.

 int main() { float x=12.2; printf('%.2f', x); return 0; } 

Sortir

Spécificateur de format C