Bibliothèque d'entrée-sortie:
En langage C, une bibliothèque est un ensemble de fonctions fournies avec le compilateur. Chaque bibliothèque a un thème particulier; par exemple:
La bibliothèque math.h, contient les fonctions mathématiques de calcul numérique, ainsi que certaines constantes.
La bibliothèque time.h contient les types et les fonctions permettant de gérer la durée.
etc..
La bibliothèque stdio.h (Standard Input Output) contient les types et les fonctions permettant de gérer les entrées-sorties (saisie au clavier; affichage à l'écran du texte, des caractères, des chaînes de caractères;...).
Toutes ces bibliothèques finissent par une extension .h c'est à dire des fichiers d'en-tête ou header. Nous allons voir dans les lignes qui vont suivre, la fonction prédéfinie printf(). Elle servira pour afficher les données de certains exemples d'illustration à l'écran.
Pour utiliser les fonctions d'une bibliothèque, il faut faire appel à la directive "# include".
Par exemple pour la bibliothèque stdio.h ce sera:
#include <stdio.h>
Cette directive devra toujours figurer de préférence en début de programme.
La fonction prédéfinie printf() :
La fonction prédéfinie printf() contrôle l’envoi de données sous forme de chaînes de caractères sur une sortie standard (pour le cas d'un ordinateur, un écran ou une imprimante. Mais pour un microcontrôleur ce sera le périphérique interne UART). C'est une fonction de la bibliothèque stdio.h.
Syntaxe :
printf("ChaineDeControle", arg1,arg2,..,argN) ;
La fonction prédéfinie printf (), a besoin d’un espace mémoire conséquent. Elle est plus utile pour le débogage. Le simulateur de l’IDE MPLAB X utilise la fenêtre de sortie UART1, pour afficher le texte écrit dans l’UART à l’aide de printf().
Exemple:
{
Int a = 5 ;
Int b = 10 ;
printf ("a = %d\n b = %d\n", a, b) ;
}
Ce code produira le résultat suivant:
a = 5
b = 10
_ (ce signe indique la position du curseur à l'écran).
"a = %d\n b = %d\n" est la chaîne de contrôle.
Chaque %d indique où sera inséré un argument et quel format sera utilisé pour l’affichage.
La valeur a sera affichée à la première position du premier %d et b sera affiché à la deuxième position du second %d.
Le d dans %d est un spécificateur de format ou un caractère de conversion ; il indique ici que le nombre qui sera affiché est un entier décimal signé.
\n est une séquence d’échappe. Il permet de faire passer le curseur à la ligne suivante avant de poursuivre l’affichage.
Dans le langage C, il y a plusieurs spécificateurs de formats (voir tableau ci-après):
| Spécificateur de format | Signification |
| %c | Simple caractère |
| %s | Chaîne de caractères (tous caractères jusqu'au \0) |
| %d | Entier décimal signé |
| %o | Entier octal non signé |
| %u | Entier décimal non signé |
| %x | Entier hexadécimal non signé avec digits minuscules(ex:1a5e) |
| %X | Idem que %x, mais avec des majuscules (ex: 1A5E) |
| %f | Valeur décimale signée (virgule flottante) |
| %e | Valeur décimale signée avec exposant (ex: -1.6e5) |
| %E | Idem que %e, mais avec des majuscules (ex: -1.6E5) |
| %g | Idem que %e et %f selon la taille et la précision |
| %G | Idem que %g mais avec un exposant majuscule (E) |