Langage C - Pages de Michel Deloizy - Free
Langage C - Pages de Michel Deloizy - Free
Langage C - Pages de Michel Deloizy - Free
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
LICENCE SPI-EEA LANGAGE C M. <strong>Deloizy</strong><br />
II.2.i. long double :<br />
contient un nombre à virgule flottante dont le nombre <strong>de</strong> chiffres significatifs et la dynamique sont<br />
supérieurs ou égaux à double.<br />
II.2.j. Dynamique <strong>de</strong>s nombres :<br />
A titre indicatif, la dynamique <strong>de</strong>s nombres est indiquée dans les tableaux ci-<strong>de</strong>ssous :<br />
ENTIERS Valeur minimale Valeur maximale<br />
8 bits signé -128 127<br />
8 bits non signé 0 255<br />
16 bits signé -32768 32767<br />
16 bits non signé 0 65535<br />
32 bits signé -2 147 483 648 2 147 483 647<br />
32 bits non signé 0 4 294 967 295<br />
VIRGULE FLOTTANTE Chiffres significatifs Exposant min/max<br />
4 octets 7 38<br />
8 octets 15 308<br />
10 octets 19 4932<br />
Remarques :<br />
Le langage C ne définit pas un nombre <strong>de</strong> bits (donc une précision) correspondant à chaque type <strong>de</strong> données. Celui-ci<br />
dépend donc du matériel sur lequel sera exécuté le programme, et surtout du compilateur utilisé. Il existe simplement<br />
une recommandation concernant la taille <strong>de</strong>s entiers (int) qui <strong>de</strong>vront être codés sur au moins 16 bits.<br />
La seule certitu<strong>de</strong> concerne le classement <strong>de</strong>s encombrements (notés E) :<br />
E(char) E(short) E(int) E(long)<br />
E(float) E(double) E(long double)<br />
Lors dřopérations sur <strong>de</strong>s entiers, le type int sera automatiquement utilisé par le compilateur (sauf si un terme long int<br />
apparaît dans lřexpression). Cřest le cas également lors <strong>de</strong> la transmission <strong>de</strong> paramètres entiers à une fonction.<br />
Lors dřopérations sur <strong>de</strong>s nombres à virgule flottante, le type double sera utilisé par le compilateur ; Le type float sera<br />
donc réservé au rangement <strong>de</strong> données en gran<strong>de</strong> quantité.<br />
Lřopérateur sizeof permet <strong>de</strong> connaître la taille dřune donnée, exprimée en nombre <strong>de</strong> données <strong>de</strong> taille élémentaire<br />
(sizeof(char) vaut 1). En général, puisque le type char est souvent codé sur un octet, sizeof donne la taille <strong>de</strong>s données<br />
en octets.<br />
Il nřexiste pas en C <strong>de</strong> type booléen. Le type entier (int) sera utilisé lors <strong>de</strong> lřévaluation dřune expression logique. Une<br />
expression sera dite « vraie » si elle est non nulle ; Elle sera « fausse » si elle est nulle.<br />
II.3. Les types composés<br />
Les types <strong>de</strong> données énoncés précé<strong>de</strong>mment permettent <strong>de</strong> constituer <strong>de</strong>s données plus complexes :<br />
II.3.a. les tableaux :<br />
Ils sont constitués dřun ensembles <strong>de</strong> données <strong>de</strong> même type, placées <strong>de</strong> manière contiguë en mémoire.<br />
II.3.b. les structures :<br />
Elles sont constituées dřun ensemble <strong>de</strong> types <strong>de</strong> données. Elles permettent <strong>de</strong> décrire cette donnée en lui allouant un<br />
ensemble <strong>de</strong> variables la caractérisant.<br />
Par exemple, pour décrire un individu, on indiquera son nom, son âge, sa taille, son poids et son sexe (0 pour un<br />
homme, 1 pour une femme).<br />
Lřindividu constituera une donnée <strong>de</strong> type structure dont les « champs » seront :<br />
- le nom (tableau <strong>de</strong> caractères)<br />
- lřâge (un entier court non signé)<br />
- la taille (un nombre à virgule flottante)<br />
- le poids (un nombre à virgule flottante)<br />
- le sexe (un caractère)<br />
Les structures seront développées ultérieurement (page 28).<br />
-4-