exam mic 0910

549 mots 3 pages
INSA
3i`
eme ann´ ee - MIC

Langage C
Examen

Examen langage C
Janvier 2010

1

Exercice 1 (10 points)

Le but de cet exercice est d’impl´ementer des listes lin´eaires. Dans une liste lin´eaire, l’insertion et la suppression d’´el´ement peut se faire n’importe o` u (contrairement aux files et aux piles).
Une liste lin´eaire peut ˆetre repr´esent´ee par une structure de donn´ees compos´ee de (cf figure 1) :
– un pointeur sur le premier ´el´ement de la liste ;
– un pointeur sur le dernier ´el´ement de la liste ;
– un pointeur ”courant” qui est un pointeur permettant de se d´eplacer dans la liste.

cellule
2

5

7

premier courant dernier liste Fig. 1 – Un exemple de liste

1

3 NULL

INSA

Examen

On consid` ere dans la suite de l’exercice que l’on impl´ emente une liste d’entiers.
On consid` ere dans la suite de l’exercice qu’une liste vide est une structure dans laquelle les pointeurs premier, courant et dernier sont nuls.
1. D´ecrivez les structures de donn´ees liste et cellule en langage C.
2. Ecrivez le code C de la fonction Init qui initialise une liste vide.
3. Ecrivez le code C de la fonction Inserer qui ins`ere un ´el´ement dans la liste juste avant le pointeur courant ; le pointeur courant pointe ensuite sur ce nouvel ´el´ement. Vous consid´ererez trois cas : 1) la liste est vide,
2) le pointeur courant est sur le premier ´el´ement et 3) le cas g´en´eral.
4. Ecrivez le code de la fonction Backup qui parcourt la liste et ´ecrit dans un fichier la valeur de tous les ´el´ements de la liste, s´epar´es par des espaces. Par exemple, la liste ci-dessus sera sauvegard´ee dans le fichier sous la forme 2 7 5 3. Cette fonction prend en param`etres la liste et le nom du fichier (on suppose que le fichier existe).

2

Exercice 2 (3 points)
Soit le programme suivant :

#include <stdio.h>
#include <stdlib.h> int main()
{
int i=8194; printf("%x %x %x %x\n",((unsigned char *)&i)[0],((unsigned char *)&i)[1],
((unsigned char *)&i)[2],((unsigned char *)&i)[3]); return(0); }
A

en relation

  • Technique
    2401 mots | 10 pages
  • Exercices Obstacle Hunter
    3745 mots | 15 pages
  • Tour de babel
    595 mots | 3 pages
  • Truc pour voc
    471 mots | 2 pages
  • 1 Entretien De La Structure
    309 mots | 2 pages
  • Cinéma
    1125 mots | 5 pages
  • Corrig Brevet Blanc 2
    1940 mots | 8 pages
  • Raccorder Un Deuxi Me Cran
    623 mots | 3 pages
  • M6 mobile
    669 mots | 3 pages
  • Otto Dix La Guerre
    738 mots | 3 pages
  • salut jmappelle saou
    317 mots | 2 pages
  • MATH prépa
    353 mots | 2 pages
  • Commentaire l'ode inachevée
    814 mots | 4 pages
  • La thématique du diable exploitée dans La chasse-galerie et dans l'étranger
    958 mots | 4 pages
  • Argumentation 1 2
    293 mots | 2 pages