Date de première publication : 2015/09/11
La saisie
- Écrire un programme qui demande à l'utilisateur un nombre et affiche toutes les divisions entières par 2 jusqu'à 0.
Par exemple, 15, 7, 3, 1, 0
- Modifier le programme des racines d'une équation de degré 2 pour que les coefficients a, b et c soient maintenant saisis au clavier.
Petite calculatrice à notation polonaise
- Écrire un programme qui demande une opération à effectuer puis les deux nombres dont il faut faire une opération.
L'opération peut être donnée par un char à valeur dans '+', '-', '/', '*'. Il faudra faire des if ou un switch pour le calcul.
Encore des maths
- Écrire un programme qui demande à l'utilisateur quelle somme il veut réaliser
(somme des n, n2 et 1/n2) avec un
switchet réutiliser le code fait pour les boucles.
Fonction, portée des variables et premiers algorithmes
Variable globale
- Définir une variable globale en début de programme/fichier et l’initialiser
- Afficher sa valeur dans la fonction
main() - Créer une fonction avant la fonction
main()qui modifie la valeur de la variable - Vérifier sa valeur dans la fonction
main()avant et après l'appel à cette fonction
Variable locale
- Définir une variable locale dans la fonction
main() - Vérifier que cette variable n'est pas accessible dans une autre fonction directement (fonction écrite avant ou après la fonction
main() - Passer cette variable en paramètre à une fonction et modifier la variable dans la fonction
- Afficher la valeur de la variable dans la fonction
- Vérifier la valeur dans le programme principal. Que constate-t-on ?
La variable locale n'est pas modifée. Seule une copie est passée en paramètre.
Calcul de factorielle et tests
n!. Cette valeur ne sera pas affichée par la fonction mais renvoyée !!n! int. Si vous voulez allez plus loin, il faut utiliser des long intRévisions UNIX et compléments C
Nous vous avons dit en cours que l'option -lm est nécessaire pour embarquer le code des fonctions mathématiques dans le code exécutable final (c'est à dire comment elles sont vraiment codées...)
Le code est contenu dans un fichier dont le nom commence par libm. Le nom du fichier peut porter l'extension .a ou encore .so. Pouvez-vous le ou les trouver dans le système de fichiers ?
Si vous faites une recherche sur /, vous allez trouver énormément d'occurences.
Le répertoire classique est /usr/lib
On peut "lister" le contenu d'un fichier lib, c'est-à-dire les fonctions disponibles avec une commande telle que celle-ci :
nm chemin_trouve/libmXXXX.XX
Pouvez-vous lister toutes les personnes qui sont en train d'utiliser gcc (en une commande) ?
gcc est un processus et il faut filtrer la liste !
- 1
- 2
- 3
- 4
- 5



