logo

printf en C

En langage C, la fonction printf() est utilisée pour imprimer une sortie formatée sur la sortie standard sortie standard (qui est généralement l'écran de la console). La fonction printf fait partie de la bibliothèque standard C < stdio.h> et cela peut permettre de formater la sortie de nombreuses manières.

Syntaxe de printf

 printf  ( ' formatted_string ',   arguments_list);>

Paramètres

    formatted_string : C'est une chaîne qui spécifie les données à imprimer. Il peut également contenir un spécificateur de format pour imprimer la valeur de n'importe quelle variable telle qu'un caractère et un entier. arguments_list : Ce sont les noms de variables correspondant au spécificateur de format.

Valeur de retour

  • printf() renvoie le nombre de caractères imprimés après une exécution réussie.
  • Si une erreur se produit, une valeur négative est renvoyée.

Exemple de printf

Dans cet exemple, nous imprimons la chaîne Hello Geek ! dans la sortie en utilisant la fonction printf(). Dans la fonction printf(), ce que nous écrirons entre guillemets doubles ( ) est imprimé dans la sortie.



C






// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }>



>

>

Sortir

Hello Geek!>

Formatage en C printf

En C, une valeur peut être un type caractère, un type entier, un type float, etc. Pour afficher et formater ces valeurs à l'aide de printf, nous disposons de spécificateurs de format qui sont utilisés dans la chaîne formatée. Ces spécificateurs de format commencent par le symbole de pourcentage '%'.

Syntaxe du spécificateur de format

%[flags][width][.precision][length]specifier>

1. Spécificateur

C'est le caractère qui désigne le type de données. Certains spécificateurs couramment utilisés sont :

    %d : pour imprimer des entiers %f : pour imprimer des nombres à virgule flottante %c : pour imprimer des caractères %s : pour imprimer des chaînes %p : pour imprimer des adresses mémoire %x : pour imprimer des valeurs hexadécimales

Exemple

printf(' %c ', char_variable );>

2. Largeur

C'est le sous-spécificateur qui indique le nombre minimum de caractères qui seront imprimés.

Si le nombre de caractères est inférieur à la largeur spécifiée, l’espace blanc sera utilisé pour remplir les emplacements des caractères restants. Mais si le nombre de caractères est supérieur à la largeur spécifiée, tous les caractères seront quand même imprimés sans en couper aucun.

Exemple

printf('% 25 s', some_string );>

ou

printf('% * s', 25 , some_string );>

3. Précision

La signification du sous-spécificateur de précision diffère selon les différents spécificateurs de format avec lesquels il est utilisé.

nuage de printemps
    Pour les données intégrales (d, i, u, o, x, X) : spécifie le nombre minimum de chiffres à imprimer. Mais contrairement au sous-spécificateur width, au lieu d’espaces blancs, ce sous-spécificateur ajoute des zéros non significatifs au nombre. Si le nombre comporte plus de chiffres que la précision, le nombre est imprimé tel quel. Pour Float ou Double Data(f, e, a, A) : Spécifie le nombre de chiffres à imprimer après la virgule décimale. Pour String(s) : Spécifie la longueur de la chaîne à imprimer.

Exemple

printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;>

ou

printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );>

4. Longueur

Spécifie la longueur du type de données dans la mémoire. Il est utilisé en correspondance avec C




// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d '>, num1, num2,> >num1 + num2);> >return> 0;> }>

>

>

Sortir

The sum of 99 and 1 is 100>

Exemple 2 : printf avec une largeur spécifiée

Dans cet exemple, nous spécifierons la largeur de la sortie qui sera imprimée par la fonction printf().

C




// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>' Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }>

>

>

Sortir

Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>

Comme nous pouvons le voir, même si nous définissons une largeur inférieure aux caractères présents, tous les caractères seront toujours imprimés. Nous avons également vu les deux manières dont nous pouvons définir la largeur.

Exemple 3 : printf avec le sous-spécificateur de précision

Dans cet exemple, nous allons démontrer le sous-spécificateur de précision dans la fonction printf()

C




// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d '>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f '>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }>

>

>

Sortir

For integers: 0000002451 For floats: 12.45 For strings: Geeks>

Exemple 4 : printf avec le sous-spécificateur de longueur

C




// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>' Using %%ld: %ld'>, var);> >return> 0;> }>

>

>

Sortir

Using %d: -1294967296 Using %ld: 3000000000>

Articles Liés: