Cours Langage C (Les caractères en C)

Cours Langage C (Les caractères en C), tutoriel & guide de travaux pratiques en pdf.

Types fondamentaux du C

En C il n’y a que 2 types fondamentaux, les entiers et les réels. Pour les entiers : 4 variantes : • Les caractères char • Les entiers courts short int • Les entiers longs long int • Les entiers classiques int Ces quatre variantes peuvent être signées ou non. (unsigned), ce qui donne au total 8 types pour les entiers. Pour les réels : 3 variantes : • Les réels simple précision float • Les réels double précision double • Les réels quadruple précision long double;

Les entiers

Les caractères En C un caractère est un entier car il s’identifie à son code ASCII (le plus souvent). Un caractère peut donc être codé sur un octet. On peut donc appliquer toutes les opérations entières sur les caractères (addition, soustraction …). Problème, On ne sait pas si ce sont des entiers signés ou non, car cela dépend des machines. Les autres variantes du type entiers sont toujours signées par défaut (pas de unsigned). C’est pourquoi on écrit plûtot que int c; if ((c=getchar())!=EOF) …. char c; if ((c=getchar())!=EOF) … car getchar () peut renvoyer -1 (et donc ce test ne fonctionnera que sur les machines ou les caractères sont signés).
Les autres entiers Un entier correspond généralement à un mot machine. Les attributs short, long, unsigned peuvent qualifier un entier • long int x; /* x est un entier long (>= 32 bits) */ • short int x; /* x est un entier court */ • unsigned int x; /* x est un entier non signé */ • unsigned short int x; /* x est un entier court non signé */ Il n’y a pas de taille fixée par le langage, mais le C garanti que 1=T_C <= T_S <= T_I <= T_L Les valeurs de T_C, T_S, T_I et T_L dépendent des machines Un entier unsigned est un entier pour lequel le bit de signe est significatif. Lorsque l’on utilise les attributs short, long ou unsigned, on peut omettre le nom du type int. • long x; /* x est un entier long (>= 32 bits) */ • short x; /* x est un entier court */ • unsigned x; /* x est un entier non signé */
• unsigned short x; /* x est un entier court non signé */

Les réels

Les float sont des réels codés de manière interne sous forme de mantisse/exposant. Les double sont des float plus longs et les long double sont des doubles plus longs. Plus la taille est grande, plus la mantisse est grande et plus la précision est grande. Comme pour les entiers ces tailles sont dépendantes de la machine, le C garanti juste que T_F <= T_D <= T_LD Tailles minimales : char 1 octet int et short int 2 octets long int 4 octets float 4 octets double 8 octets.

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *