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.
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
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
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
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
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
int main() { float y=3; printf('Exponential value of y is: %e', y); return 0; }
Sortir
connexions en Java
int main() { float y=3; printf('Exponential value of y is: %E', y); return 0; }
Sortir
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
int main() { int y=5; printf('Address value of y in hexadecimal form is: %p', &y); return 0; }
Sortir
int main() { char a='c'; printf('Value of a is: %c', a); return 0; }
Sortir
int main() { printf('%s', 'javaTpoint'); return 0; }
Sortir
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
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é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