« Exercices en langage C/Types » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Thierry46 (discussion | contributions)
Tranfert depuis WV
 
Thierry46 (discussion | contributions)
Ajout Exercices sur les caractéristiques numériques des types du langage C
Ligne 1 : Ligne 1 :
{{Exercices en langage C}}
{{Exercices en langage C}}


==Affichage des types du langage C==
==Exercice 1 : longueurs en octet des types du langage C==
Écrivez un programme taille.c qui affiche à l'écran la taille des différents types de données du langage C sur votre architecture machine.
Écrivez un programme taille.c qui affiche à l'écran la taille des différents types de données en octet du langage C sur votre architecture machine.

Vous utiliserez l'opérateur ''sizeof(type)''.


<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
Ligne 17 : Ligne 19 :
Code retour : 0 (EXIT_SUCCESS)
Code retour : 0 (EXIT_SUCCESS)
Pour produire un exécutable avec le compilateur libre GCC :
Pour produire un exécutable avec le compilateur libre GCC :
gcc -o taille.exe taille.c
gcc -Wall -std=c99 -o taille.exe taille.c
Pour exécuter, tapez : ./taille.exe
Pour exécuter, tapez : ./taille.exe


Ligne 46 : Ligne 48 :
}
}
</source>
</source>

'''Résultats affichés sur ma machine''' :
<pre>
MacMini-TM:~/Documents/developpement/c thierry$ ./taille.exe
Taille des types en octet :
- type char : 1
- type short : 2
- type int : 4
- type long : 4
- type long long : 8
- type float : 4
- type double : 8
- type long double : 16
</pre>
}} </div>

==Exercice 2 : caractéristiques numériques des types du langage C==
Écrivez un programme limites.c qui affiche à l'écran les caractéristiques numériques des différents types du langage C.

Vous utiliserez les constantes symboliques des includes [[w:en:Limits.h|limits.h]] et [[w:en:float.h|float.h]].

<div style="width:70%">{{Boîte déroulante|titre=Solution|contenu =
'''Correction'''

'''Correction'''
<source lang="c">
***************************************************************************
Nom ......... : limites.c
Role ........ : Imprime les caractéristiques numériques
pour les types du langage C
Auteur ...... : Thierry46
Version ..... : V1.0 du 11/1/2008
Licence ..... : GNU GPL

Compilation :
gcc -Wall -std=c99 -o limites.exe limites.c
Pour exécuter, tapez : ./limites.exe
***************************************************************************/
#include <stdio.h>
#include <stdlib.h>
// Pour les limites lies aux entiers
#include <limits.h>
// Pour les limites lies aux nombres reels
#include <float.h>

int main(int argc, char *argv[])
{
// Impression des limites pour les nombres entiers
(void)printf("INT_MIN = %d\n", INT_MIN);
(void)printf("INT_MAX = %d\n", INT_MAX);
(void)printf("LONG_MIN = %ld\n", LONG_MIN);
(void)printf("LONG_MAX = %ld\n", LONG_MAX);

// Impression des limites pour les réels
(void)printf("FLT_EPSILON = %e\n", FLT_EPSILON);
(void)printf("FLT_MIN = %e\n", FLT_MIN);
(void)printf("FLT_MAX = %e\n", FLT_MAX);
(void)printf("DBL_EPSILON = %le\n", DBL_EPSILON);
(void)printf("DBL_MIN = %le\n", DBL_MIN);
(void)printf("DBL_MAX = %le\n", DBL_MAX);

return EXIT_SUCCESS;
} /* int main(... */
</source>

'''Résultats affichés sur ma machine''' :
<pre>
MacMini-TM:~/Documents/developpement/c thierry$ ./limites.exe
INT_MIN = -2147483648
INT_MAX = 2147483647
LONG_MIN = -2147483648
LONG_MAX = 2147483647
FLT_EPSILON = 1.192093e-07
FLT_MIN = 1.175494e-38
FLT_MAX = 3.402823e+38
DBL_EPSILON = 2.220446e-16
DBL_MIN = 2.225074e-308
DBL_MAX = 1.797693e+308
</pre>
}} </div>
}} </div>



Version du 11 janvier 2008 à 22:06

Exercice 1 : longueurs en octet des types du langage C

Écrivez un programme taille.c qui affiche à l'écran la taille des différents types de données en octet du langage C sur votre architecture machine.

Vous utiliserez l'opérateur sizeof(type).

Exercice 2 : caractéristiques numériques des types du langage C

Écrivez un programme limites.c qui affiche à l'écran les caractéristiques numériques des différents types du langage C.

Vous utiliserez les constantes symboliques des includes limits.h et float.h.