Les types de base
correspondent dans le langage C aux types directement
supportés par la machine (entiers signés ou non, de différentes
taille, nombre réels en virgule flottante de différentes
précision).
/* on obtient dans l'objet c le code ASCII du
caractère 'b' */
Le langage C comporte un notation pour désigner des caractères
(le caractère entre apostrophe), mais toutes les opérations sur
les entiers sont applicables sur les objets de "type" char.
En fait, le langage C est très souple (ou laxiste suivant les
points de vue) quant aux opérations sur les type de base.
Contrairement à Ada ou Java, il utilise systématiquement la
conversion implicite de types.
On peut écrire :
int i ;
i = 3,04 + 1 ; /* ce qui place dans i la valeur 4 */
Le langage C (sauf la version C99) ne comporte
pas de typesbooléen (car ce
n'est pas supporté par les machines). Comme on a cependant besoin
des valeurs vraie ou fausse,
pour l'instruction if par
exemple, le programmeur doit savoir que faux est codé par
la valeur entière 0, et vrai par 1 (codage
identique dans tous les langages), et que toutes valeurs
différentes de 0 est prise pour vrai.
Types entiers
(taille minimum, plage minimum de valeurs)
Pour chaque type entier, vous
êtes assurés d'une plage minimum de valeurs et d'une taille
minimum en bits.