"en"/> Programmation en C (2017-2018): Travaux pratiques 2: John Samuel
Creative Commons License

Objectifs

Exercice 2.1

Ecrivez un programme operators2.c qui utilise trois variables num1 (entier), num2 (entier) et op (un caractère). La variable c contient un de ces différents opérateurs. (+, -, *, /, %, &, |, ~). Utilisez switch et réutiliser le code de votre premier exercice. Si c est égal à ‘+’, le programme fait l’addition de deux variables num1 et num2, si c est égal à ‘&’, le programme fait l’opération ET etc. Rappelez-vous bien que l’on ne peut pas utiliser tableau de caractères comme condition en switch. Testez votre programme avec différents valeurs de num1, num2, op

Exercice 2.2

Ecrivez un programme conditions.c qui utilise les boucles (for, while ou do..while) et les branchements inconditionnels (break ou continue) pour l’affichage de numéros <= 100 qui sont divisés par :

  1. 2 et 15
  2. 103 ou 107
  3. 7 ou 5, mais pas par 3

Exercice 2.3

Ecrivez un programme binary.c qui utilise for pour l’affichage d’une variable int en format binaire. Rappelez-vous bien que printf n’a pas de code de conversion comme x (l’affichage d’un numéro en notation hexadécimale) ou o (l’affichage d’un numéro en notation octale) pour l’affichage en notation binaire. Testez votre code avec les 5 numéros suivants : 0, 4096, 65536, 65535, 1024

Exercice 2.4

Imaginez que vous gérez les notes de cinq étudiants. En utilisant seulement des tableaux, écrivez un programme etudiant.c qui déclare, initialise et affiche les détails de ces cinq étudiants. Pour chaque étudiant, on est intéressé par son nom, son prénom, son adresse, et ses notes dans 2 modules (Programmation en C, Système d’exploitation).

Exercice 2.5

Ecrivez un programme etudiant2.c pour la gestion de données étudiantes (5 étudiants) en utilisant struct. Les détails pour chaque étudiant restent les mêmes comme pour le point 5 (nom, prénom etc.) Vous pouvez utiliser strcpy (comme on a vu pendant les cours) pour initialiser les noms, prénoms etc.

Exercice 2.6

Une couleur en format RGBA contient 4 valeurs : rouge (R), vert (G), bleu (B) et alpha (A). Chaque valeur est un octet. Créez un programme couleurs.c en utilisant struct. Ensuite, créer et initialiser un tableau de 10 couleurs. Pensez à initialiser les coleurs en notation hexadécimale (r : 0xef, g : 0x78 etc.).

Exercice 2.7

Réutiliser le programme variables.c et créez un programme ptrvariables.c qui affecte et affiche les valeurs des variables de différents types de base (char, short, int, long int, long long int, float, double, long double) en utilisant leurs adresses. N’oubliez pas afficher l’adresse et la valeur de ces variables avant ou après la manipulation par leurs adresses (en utilisant les pointeurs).

Exercice 2.8

Créez un programme tableauptr.c et écrivez le code pour créer deux tableaux différents : int et float. Remplissez les valeurs aléatoires. Pour les deux tableaux, si l’indice est divisé par 2, multipliez la valeur à cette position par 3. N’utilisez pas la notation indicielle pour parcourir les tableaux (e.g, i [3], i [5] etc.). Utilisez les pointeurs.

Exercice 2.9

Ecrivez un programme chercher.c qui créer un tableau de 10 phrases (un tableau de tableau de caractères). Sans utilisant les fonctions de bibliothèques standards ou externes, cherchez si une phrase est dans le tableau ou pas. (BONUS, si vous utilisez char **, c’est-à-dire l'adresse d'une variable qui contient l'adresse d’une variable char)

Astuce

Fichiers

operators2.c, conditions.c, binary.c, etudiant.c, etudiant2.c, couleurs.c, ptrariables.c, tableauptr.c

Instructions