Boucles
Cliquez ici pour retirer la feuille de style si vous souhaitez imprimer ce document (ou en cas de problème d'affichage).
Notes :
- N'utilisez pas de navigateur de fichier ! Apprenez à ne vous servir que du terminal.
Compilation (rappels)
- Créez un répertoire dans lequel vous placerez tous vos TP de C
- Créez un sous-répertoire dans lequel vous placerez tous vos exercices d'aujourd'hui
- Pour chaque exercice, vous créerez un sous répertoire
- Pour compiler un fichier "exo.c", il faut executer la commande :
gcc -ansi -pedantic -Wall exo.c -o executable
en remplacant "exo.c" par votre fichier et "executable" par le nom du fichier executable que vous voulez creer. Si vous ne mettez pas "-o executable", le fichier produit s'appelera "a.out"
Exercice I
- Écrire une fonction qui affiche les nombres de 1 à 10.
- Écrire une fonction qui affiche les nombres compris entre ses deux paramètres a et b de trois en trois. Exemple avec les paramètres (20,10):
20 19 18 17 16 15 14 13 12 11 10
Faire deux fois l'exercice : avec "for" et avec "while". Bien sur cela doit aussi fonctionner avec a<b. - Modifier votre fonction pour qu'elle prenne le pas en paramètre. Dans la question précédante, le pas était 3.
Exemple avec (20,10,6) :
20 19 18 17 16 15 14 13 12 11 10
- Modifier votre main() pour qu'il puisse prendre en paramètre les trois valeurs. Si aucun paramètre n'est fourni, les valeurs sont demandées à l'utilisateur avec un scanf(). Si il n'y en a qu'un, c'est le second paramètre a passer à la fonction, et le premier aura pour valeur par défaut 1 et le troisième 10. Enfin si il n'y a que deux paramètres le pas sera demandé à l'utilisateur avec un scanf().
Exercice II
- Écrire une fonction qui calcule la somme des entiers de 1 à 100.
- Modifier la fonction pour qu'elle prenne en paramètre les limites.
- Mofifier votre main() pour que les valeurs puissent etre saisies par l'utilisateurs ou passées en paramètre du programme
Exercice III
- Écrire une fonction qui prend un entier en paramètre et qui l'affiche à l'envers. Par exemple, si on l'appelle avec 123456, la fonction affiche 654321. Pour cela il faudra utiliser la division et le modulo. Rappel : 153%10 = 3 et 153/10 = 15
- Modifier le main pour que l'entier puisse être saisi par l'utilisateur ou passé en paramètre du programme.
Exercice IV
- Ecrivez une fonction qui prend en paramètre deux caractères, et affiche la suite de caractères qui les séparent dans l'alphabet, en alternant majuscule et minuscule. Le résultat n'est pas sensible à la casse des paramètres. Par exemple:
f('a','D'); donne la même chose que f('A','D'); c'est à dire : aBcD et f('g','c'); donne gFeDc
Vous êtes encouragé à vous aider de fonctions intermédiaires transformant un caractère quelquonque en minuscule et en majuscule. - Modifiez votre main pour que les bornes puissent être saisies comme paramètres du programme et avec scanf()