• Aucun résultat trouvé

2011–2012 camille.coti@iutv.univ-paris13.fr CamilleCoti Coursn ° 3ProgrammationstructuréeProgrammationenC:premierprogramme I3–AlgorithmiqueetprogrammationIntroductionàl’algorithmique

N/A
N/A
Protected

Academic year: 2022

Partager "2011–2012 camille.coti@iutv.univ-paris13.fr CamilleCoti Coursn ° 3ProgrammationstructuréeProgrammationenC:premierprogramme I3–AlgorithmiqueetprogrammationIntroductionàl’algorithmique"

Copied!
38
0
0

Texte intégral

(1)

Programmation structurée Le langage C Syntaxe du langage C

I3 – Algorithmique et programmation Introduction à l’algorithmique

Cours n°3 Programmation structurée Programmation en C : premier programme

Camille Coti

camille.coti@iutv.univ-paris13.fr

IUT de Villetaneuse, département R&T

2011 – 2012

(2)

Programmation structurée Le langage C Syntaxe du langage C

Plan

1

Programmation structurée Fonctions

Procédures

Approche descendante Récursivité

2

Le langage C

Édition du programme Compilation

Premier programme C

3

Syntaxe du langage C

Variables

(3)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Décomposition d’un problème en sous-problèmes

“... diviser chacune des difficultés que j’examinerais en autant de parcelles qu’il se pourrait et qu’il serait requis pour mieux les résoudre.”

Discours de la méthode (1637)

René Descartes

(4)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Fonctions

Définition

Une fonction définit une action effectuée sur un ensemble de paramètres qui produit un résultat retourné comme valeur de sortie de la fonction.

Elle fournit une abstraction pour cette action vis-à-vis des algorithmes qui l’appellent.

Analogie avec les fonctions mathématiques : f : x 7→ f(x) On définit la fonction une fois

On l’appelle autant de fois qu’on veut

Avantages : factorisation de code, abstraction pour la conception de

l’algorithme... Permet de se concentrer sur l’algorithme lui-même plutôt que

sur les détails.

(5)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Paramètres et résultat

On donne les paramètres et leur type

On déclare les paramètres entre parenthèses

On les utilise dans la fonction en utilisant ce nom : ce sont des variables Il existe des paramètres

D’entrée : utilisés dans la fonction De sortie : modifiés dans la fonction

Ou les deux : utilisés et modifiés dans la fonction On déclare le type retourné

Déclaration de la fonction suivie par : type

On sort de la fonction avec le mot clé retourner et la valeur retournée

début fonction carre( nombre: Entier ): Entier

1

resultat : Entier

2

resultat ←− nombre × nombre

3

retourner resultat

4

fin fonction

5

(6)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Appel de fonction

On appelle la fonction à partir d’un autre algorithme

On lui passe en paramètres des variables de l’algorithme appelant La valeur retournée est mise dans une variable de l’algorithme appelant

début programme

1

nombreDepart : Entier

2

calcul : Entier

3

calcul ←− carre ( nombreDepart )

4

fin programme

5

début fonction carre( nombre: Entier ): Entier

1

resultat : Entier

2

resultat ←− nombre × nombre

3

retourner resultat

4

fin fonction

5

La fonction fournit donc une abstraction de l’action qu’elle réalise paramétrée

(7)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Procédures

Une procédure effectue une action . Elle ne retourne rien.

Affichage : pas de résultat de calcul à récupérer Calcul sur des variables de sortie

On sort de la procédure

À la fin du bloc d’instructions principal

Ou quand on rencontre le mot-clé Retour

(8)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Procédures (exemple)

début programme

1

mapuissance : Entier

2

puissance ( mapuissance )

3

afficher ( mapuissance )

4

fin programme

5

début procédure puissance( petitepuissance: Entier Sortie )

1

petitepuissance ←− 1

2

tant que V rai faire

3

petitepuissance ←− petitepuissance × 2

4

if petitepuissance > 200 then

5

retourner

6

endif

7

fintq

8

fin procédure

9

(9)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Visibilité des variables

Les variables déclarées dans la fonction ne sont visibles que dans la fonction

Les variables déclarées dans le programme appelant ne sont visibles que dans le programme appelant ne sont pas visibles dans la fonction

Les variables passées en paramètre

sont appelées par leur nom dans le programme appelant dans l’appel de la fonction

sont appelées par le nom utilisé pour les déclarer dans la fonction elle-même

Visibilité des variables

Les variables sont visibles uniquement dans la fonction, la procédure ou le

programme dans lequel elles ont été déclarées, et dans aucune des fonctions ou

procédures appelées ou qui l’appellent.

(10)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante

Les fonctions et les procédures fournissent une abstraction sur les actions réalisées par le programme

Possibilité de les utiliser pour se concentrer sur la structure du programme plutôt que sur la résolution des sous-problèmes

On décompose le problème en sous-problèmes

On fait dans un premier temps l’hypothèse qu’ils sont résolus On s’en occupe plus tard

La conception de l’algorithme dans sa globalité est ainsi plus simple Décomposer pour mieux maîtriser

On retarde le plus possible le moment d’effectuer les calculs

(11)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : exemple

Théorème de Pythagore : "le carré de l’hypoténuse d’un triangle rectangle est égal à la somme des carrés des longueurs des deux autres côtés" .

début fonction hypo( cote1: Entier, cote2: Entier ): Entier

1

/* variables internes */

2

carre1 : Entier

3

carre2 : Entier

4

hypotenusecarre : Entier

5

hypotenuse : Entier

6

/* on calcule la somme des carrés des côtés */

7

carre1 ←− carré( cote1 )

8

carre2 ←− carré( cote2 )

9

hypotenusecarre ←− carre1 + carre2

10

/* on prend la racine carrée de la somme et on retourne le

11

résultat */

hypotenuse ←− racine( hypotenusecarre )

12

retourner hypotenuse

13

fin fonction

14

(12)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : exemple (suite)

début fonction carré( nombre: Entier ): Entier

1

moncarre : Entier

2

moncarre ←− nombre × nombre

3

retourner moncarre

4

fin fonction

5

début fonction racine( nombre: Entier ): Entier

1

maracine : reel

2

maracine ←− √ nombre

3

retourner maracine

4

fin fonction

5

(13)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : autre exemple

On veut écrire un procédure qui affiche une pyramide comme celle-ci de hauteur passée en paramètre :

1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1

On l’affiche ligne par ligne :

début procedure afficherPyramide( hauteur: Entier )

1

pour i ←− 0 à hauteur pas 1 faire

2

afficherLigne( i, n )

3

finpour

4

fin procedure

5

(14)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : autre exemple

On veut écrire un procédure qui affiche une pyramide comme celle-ci de hauteur passée en paramètre :

1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1

On l’affiche ligne par ligne :

début procedure afficherPyramide( hauteur: Entier )

1

pour i ←− 0 à hauteur pas 1 faire

2

afficherLigne( i, n )

3

finpour

4

fin procedure

5

(15)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : autre exemple (suite)

On donne la fonction afficherLigne() :

début procedure afficherLigne( largeur: Entier, hauteur : Entier )

1

afficherBlancs( i, n ) afficherSuiteCroissante( i )

2

afficherSuiteDecroissante( i ) allerALaLigne() fin procedure

3

Et on donne les fonctions appelées par afficherLigne() :

début procedure afficherBlancs( largeur: Entier, hauteur : Entier )

1

pour i ←− 0 à hauteur − largeur pas 1 faire

2

afficher( " " )

3

finpour

4

fin procedure

5

(16)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : autre exemple (suite)

On donne la fonction afficherLigne() :

début procedure afficherLigne( largeur: Entier, hauteur : Entier )

1

afficherBlancs( i, n ) afficherSuiteCroissante( i )

2

afficherSuiteDecroissante( i ) allerALaLigne() fin procedure

3

Et on donne les fonctions appelées par afficherLigne() :

début procedure afficherBlancs( largeur: Entier, hauteur : Entier )

1

pour i ←− 0 à hauteur − largeur pas 1 faire

2

afficher( " " )

3

finpour

4

fin procedure

5

(17)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Approche descendante : autre exemple (suite)

début procedure afficherSuiteCroissante( largeur: Entier )

1

pour i ←− 0 à largeur pas 1 faire

2

afficher( i )

3

finpour

4

fin procedure

5

début procedure afficherSuiteDecroissante( largeur: Entier )

1

pour i ←− largeur − 1 à 0 pas −1 faire

2

afficher( i )

3

finpour

4

fin procedure

5

début procedure allerALaLigne( )

1

afficher( retour_chariot )

2

fin procedure

3

(18)

Programmation structurée Le langage C Syntaxe du langage C Fonctions Procédures Approche descendante Récursivité

Récursivité

Une fonction ou une procédure peut s’appeler elle-même Elle est alors partiellement définie à partir d’elle-même

début fonction calcul( var: Entier ): Entier

1

si var == 1 alors

2

retourner var

3

sinon

4

retourner var× calcul( var − 1 )

5

finsi

6

fin fonction

7

Correspond bien aux relations de récurrence

Attention au point d’arrêt !

(19)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

1

Programmation structurée Fonctions

Procédures

Approche descendante Récursivité

2

Le langage C

Édition du programme Compilation

Premier programme C

3

Syntaxe du langage C

Variables

(20)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Éditeur de texte

Utilisation d’un éditeur de texte sans formattage Écriture du texte brut dans le fichier Pas d’informations de formattage Exemples : Emacs, vi(m), gedit...

Possibilité d’utiliser un Environnement de Développement Intégré (IDE) Éditeur de texte

Compilation Exécution Débuggage

Accès à l’aide en ligne et raccourcis

Exemples : Eclipse, NetBeans, Visual Studio...

(21)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Compilation

Langage C = code compréhensible par un humaine

Exécutable = langage machine compréhensible par la machine Compilation

La compilation consiste à traduire un langage de programmation dans un autre langage. Le langage cible est souvent le langage machine d’une machine sur laquelle le programme va être exécuté, mais il peut s’agir d’un autre langage (compilateur source-to-source).

Le langage C doit être compilé pour être exécuté sur une machine.

Exemples de compilateurs C : gcc (GNU), icc (Intel), pathcc (Pathscale), xlcc

(IBM)...

(22)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Chaîne de production d’un exécutable

1

Pré-processing : inclusion des en-têtes suppression des commentaires

remplacement des macros et des constantes

Code produit : code source modifié, en langage C, lisible par un être humain.

2

Compilation : analyse du respect de la syntaxe du langage et transformation en code objet . Trois phases :

Analyse lexicale et syntaxique du fichier source Génération d’un code en langage d’assemblage

Traduction du code en langage d’assemblage vers un code objet Code produit : langage machine, plusieurs fichiers (1 par fichier source)

3

Édition des liens

Si le programme est constitué de plusieurs fichiers source et/ou si il utilise des fonctions et des variables externes (définies dans des bibliothèques extérieures), les bouts de code objet correspondants sont reliés entre eux pour former un exécutable.

Code produit : langage machine, un exécutable

(23)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Chaîne de production d’un exécutable

1

Pré-processing : inclusion des en-têtes suppression des commentaires

remplacement des macros et des constantes

Code produit : code source modifié, en langage C, lisible par un être humain.

2

Compilation : analyse du respect de la syntaxe du langage et transformation en code objet . Trois phases :

Analyse lexicale et syntaxique du fichier source Génération d’un code en langage d’assemblage

Traduction du code en langage d’assemblage vers un code objet Code produit : langage machine, plusieurs fichiers (1 par fichier source)

3

Édition des liens

Si le programme est constitué de plusieurs fichiers source et/ou si il utilise des fonctions et des variables externes (définies dans des bibliothèques extérieures), les bouts de code objet correspondants sont reliés entre eux pour former un exécutable.

Code produit : langage machine, un exécutable

(24)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Chaîne de production d’un exécutable

1

Pré-processing : inclusion des en-têtes suppression des commentaires

remplacement des macros et des constantes

Code produit : code source modifié, en langage C, lisible par un être humain.

2

Compilation : analyse du respect de la syntaxe du langage et transformation en code objet . Trois phases :

Analyse lexicale et syntaxique du fichier source Génération d’un code en langage d’assemblage

Traduction du code en langage d’assemblage vers un code objet Code produit : langage machine, plusieurs fichiers (1 par fichier source)

3

Édition des liens

Si le programme est constitué de plusieurs fichiers source et/ou si il utilise des fonctions et des variables externes (définies dans des bibliothèques extérieures), les bouts de code objet correspondants sont reliés entre eux pour former un exécutable.

Code produit : langage machine, un exécutable

(25)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Compilation d’un fichier

Avec gcc (disponible sur les machines Un*x) :

$ gcc − o e x e c u t a b l e f i c h i e r s S o u r c e . c Option -o = output = fichier produit

Autres options pour n’effectuer que les étapes intermédiaires : -E : pré-processeur

-S : génération du langage d’assemblage

-c : génération du code objet sans édition des liens Options utiles :

-Wall : affichage des avertissements (warnings) -O1, -O2, -O3 : optimisation du code

Exemple : compilation du fichier helloWorld.c pour produire l’exécutable helloWorld :

$ gcc −Wall −o h e l l o W o r l d h e l l o W o r l d . c

(26)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Premier programme C

1 #i n c l u d e <s t d i o . h>

2 #i n c l u d e < s t d l i b . h>

3

4 i n t main ( ) {

5 p r i n t f ( " H e l l o world \n" ) ; 6 r e t u r n EXIT_SUCCESS ; 7 }

Point d’entrée dans le programme : la fonction main C’est une fonction : elle retourne un entier (type int )

Valeur de retour de la fonction main : valeur de sortie du programme (sous Un*x avec bash : $?)

Utilisation de fonctions extérieures : définition de ces fonctions Utilisation de printf : affichage formaté

Fonction printf définie dans stdio.h : #include <stdio.h>

Utilisation d’une constante : EXIT_SUCCESS définie dans stdlib.h

Inclusion du fichier où elle est définie : #include <stdlib.h>

(27)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Premier programme C

1 #i n c l u d e <s t d i o . h>

2 #i n c l u d e < s t d l i b . h>

3

4 i n t main ( ) {

5 p r i n t f ( " H e l l o world \n" ) ; 6 r e t u r n EXIT_SUCCESS ; 7 }

Point d’entrée dans le programme : la fonction main C’est une fonction : elle retourne un entier (type int )

Valeur de retour de la fonction main : valeur de sortie du programme (sous Un*x avec bash : $?)

Utilisation de fonctions extérieures : définition de ces fonctions Utilisation de printf : affichage formaté

Fonction printf définie dans stdio.h : #include <stdio.h>

Utilisation d’une constante : EXIT_SUCCESS définie dans stdlib.h

Inclusion du fichier où elle est définie : #include <stdlib.h>

(28)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Premier programme C

1 #i n c l u d e <s t d i o . h>

2 #i n c l u d e < s t d l i b . h>

3

4 i n t main ( ) {

5 p r i n t f ( " H e l l o world \n" ) ; 6 r e t u r n EXIT_SUCCESS ; 7 }

Point d’entrée dans le programme : la fonction main C’est une fonction : elle retourne un entier (type int )

Valeur de retour de la fonction main : valeur de sortie du programme (sous Un*x avec bash : $?)

Utilisation de fonctions extérieures : définition de ces fonctions Utilisation de printf : affichage formaté

Fonction printf définie dans stdio.h : #include <stdio.h>

Utilisation d’une constante : EXIT_SUCCESS définie dans stdlib.h

Inclusion du fichier où elle est définie : #include <stdlib.h>

(29)

Programmation structurée Le langage C Syntaxe du langage C Édition du programme Compilation Premier programme C

Premier programme C

1 #i n c l u d e <s t d i o . h>

2 #i n c l u d e < s t d l i b . h>

3

4 i n t main ( ) {

5 p r i n t f ( " H e l l o world \n" ) ; 6 r e t u r n EXIT_SUCCESS ; 7 }

Point d’entrée dans le programme : la fonction main C’est une fonction : elle retourne un entier (type int )

Valeur de retour de la fonction main : valeur de sortie du programme (sous Un*x avec bash : $?)

Utilisation de fonctions extérieures : définition de ces fonctions Utilisation de printf : affichage formaté

Fonction printf définie dans stdio.h : #include <stdio.h>

Utilisation d’une constante : EXIT_SUCCESS définie dans stdlib.h

Inclusion du fichier où elle est définie : #include <stdlib.h>

(30)

Programmation structurée Le langage C Syntaxe du langage C Variables

1

Programmation structurée Fonctions

Procédures

Approche descendante Récursivité

2

Le langage C

Édition du programme Compilation

Premier programme C

3

Syntaxe du langage C

Variables

(31)

Programmation structurée Le langage C Syntaxe du langage C Variables

Déclaration de variables

Types de variables :

Types entiers (integer) :

int : 4 octets, valeurs de −2

31

à 2

31

− 1 short int : 2 octets, de -32.768 à 32.767 long int : comme int

long long int : 8 octets, valeurs de −2

63

à 2

63

− 1 version non signées : pas de bit de signe

Types caractères :

char : 1 octet, valeur ascii unsigned char : caractère non signé Types réels :

float : nombre à virgule flottante simple précision (4 octets)

double : nombre à virgule flottante double précision (8 octets)

long double : 10 octets

(32)

Programmation structurée Le langage C Syntaxe du langage C Variables

Codage des nombres réels

Norme IEEE 754 : décomposition du nombre en trois éléments bit de signe si le nombre est signé

mantisse : facteur multiplicateur retranché de 1 et compris entre 0 et 1 exposant

En prenant s = signe, m = mantisse, e = exposant : nombre = s × (1 + m) × 2

e

Type float : 8 bits pour l’exposant et 23 bits pour la mantisse

Type double : 11 bits pour l’exposant et 52 bits pour la mantisse

Type long double : 15 bits pour l’exposant et 64 bits pour la mantisse

(33)

Programmation structurée Le langage C Syntaxe du langage C Variables

Déclaration et affectation de variables

Déclaration de variables : type nom;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r , a i r e ; 3 l o n g d o u b l e d i a g o n a l e ;

Affectation d’une valeur à une variable : nom = valeur;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r ;

3 h a u t e u r = 4 2 ; 4 l a r g e u r = 0 . 5 9 ;

Toutes les lignes se terminent par un point-virgule (;)

(34)

Programmation structurée Le langage C Syntaxe du langage C Variables

Déclaration et affectation de variables

Déclaration de variables : type nom;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r , a i r e ; 3 l o n g d o u b l e d i a g o n a l e ;

Affectation d’une valeur à une variable : nom = valeur;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r ;

3 h a u t e u r = 4 2 ; 4 l a r g e u r = 0 . 5 9 ;

Toutes les lignes se terminent par un point-virgule (;)

(35)

Programmation structurée Le langage C Syntaxe du langage C Variables

Déclaration et affectation de variables

Déclaration de variables : type nom;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r , a i r e ; 3 l o n g d o u b l e d i a g o n a l e ;

Affectation d’une valeur à une variable : nom = valeur;

1 i n t h a u t e u r ; 2 f l o a t l a r g e u r ; 3 h a u t e u r = 4 2 ; 4 l a r g e u r = 0 . 5 9 ;

Toutes les lignes se terminent par un point-virgule (;)

(36)

Programmation structurée Le langage C Syntaxe du langage C Variables

Déclaration et affectation de variables

Déclaration de variables : type nom;

1 i n t h a u t e u r ;

2 f l o a t l a r g e u r , a i r e ; 3 l o n g d o u b l e d i a g o n a l e ;

Affectation d’une valeur à une variable : nom = valeur;

1 i n t h a u t e u r ; 2 f l o a t l a r g e u r ; 3 h a u t e u r = 4 2 ; 4 l a r g e u r = 0 . 5 9 ;

Toutes les lignes se terminent par un point-virgule (;)

(37)

Programmation structurée Le langage C Syntaxe du langage C Variables

Transtypage (cast)

Possibilité de convertir une variable d’un type vers un autre type

Attention à la compatibilité entre le type de départ et le type d’arrivée ! 1 i n t h a u t e u r ;

2 f l o a t l a r g e u r ; 3 h a u t e u r = 4 2 ;

4 l a r g e u r = ( f l o a t ) h a u t e u r ; Caractère vers entier :

Utilisation des fonctions atoi (ascii to integer), atol (ascii to long) Entier vers caractère :

Écriture formatée de l’entier dans un caractère

(38)

Programmation structurée Le langage C Syntaxe du langage C Variables

Transtypage (cast)

Possibilité de convertir une variable d’un type vers un autre type

Attention à la compatibilité entre le type de départ et le type d’arrivée ! 1 i n t h a u t e u r ;

2 f l o a t l a r g e u r ; 3 h a u t e u r = 4 2 ;

4 l a r g e u r = ( f l o a t ) h a u t e u r ; Caractère vers entier :

Utilisation des fonctions atoi (ascii to integer), atol (ascii to long) Entier vers caractère :

Écriture formatée de l’entier dans un caractère

Références

Documents relatifs

On ne peut pas mettre une donn´ ee d’un type dans une variable d’un autre type Exception : un transtypage est parfois possible (entier dans r´ eel...).7. Introduction Les variables

Une boucle sert ` a r´ ep´ eter un bloc d’instructions tant qu’une condition de continuation est satisfaite ou que la condition d’arrˆ et n’est pas satisfaite..

Syntaxe du langage C Les pointeurs Programmation structurée Blocs Affichage et saisie formatée Structures de contrôle.. 1 Syntaxe du langage C Blocs d’instructions Affichage et

Copie taille caract` eres de orig dans dest Copie brute d’un tampon dans un autre :.. Allocation de tableaux D´ eclaration de nouveaux types Allocation statique Allocation

Le pointeur de l’´ el´ ement pr´ ec´ edent pointe vers le nouvel ´ el´ ement Le pointeur du nouvel ´ el´ ement pointe vers l’´ el´ ement suivant Suppression d’un ´ el´

Les biblioth` eques en C Cr´ eation d’une biblioth` eque Compilation avec Make Pr´ esentation Utilisation ´ Ecriture d’un Makefile. 1 Les biblioth` eques

Introduction ` a la manipulation de fichiers Les fichiers en C ´ Ecriture Lecture Exemple : copie d’un fichier dans un autre Synth` ´ Ecriture en mode caract` eres ´ Ecriture

Types de donn´ ees Structures de contrˆ ole Programmation structur´ ee Fonctions Proc´ edures Passage de param` etres Cas du main(). 1 Types de