09.01.2015 Views

Langage C - Pages de Michel Deloizy - Free

Langage C - Pages de Michel Deloizy - Free

Langage C - Pages de Michel Deloizy - Free

SHOW MORE
SHOW LESS

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-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!