La plupart des alphabets des langues occidentales peuvent être représentés dans un jeu de caractères codés sur 8 bits, ce qui autorise 28 = 256 caractères. En C, les caractères sont donc représentés par les valeurs du type char, c'est-à-dire par les entiers de 0 à 255.
Les constantes de type caractère sont notées entre deux apostrophes
(en anglais single quote ) :
'A', 'Z', 'a', ';', '4',
etc. S'y ajoutent des caractères spéciaux comme '\n'
pour le
retour à la ligne et '\t'
pour une tabulation, ainsi que
'\0'
, le caractère nul.
Un caractère peut être lu sur l'entrée standard avec la fonction
scanf, et écrit sur la sortie standard avec printf en
utilisant l'indicateur de
conversion %c
:
char c;
scanf("%c", &c);
printf("%c", c);
Le type char étant assimilé en C aux types entiers, les opérations arithmétiques lui sont applicables. Par exemple, pour convertir en minuscules les majuscules d'un texte, on appliquera à chaque caractère c l'instruction suivante :
if ('A'<=c && c<='Z') c = c + 'a' - 'A';
Un autre exemple d'opérations arithmétiques sur les caractères sera donné dans la définition d'une fonction strcmp de comparaison sur les chaînes de caractères.