Rappels C. Introduction Gestion de la mémoire Langages de programmation.
-
Upload
heloise-thiery -
Category
Documents
-
view
108 -
download
1
Transcript of Rappels C. Introduction Gestion de la mémoire Langages de programmation.
![Page 1: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/1.jpg)
Rappels C
![Page 2: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/2.jpg)
Introduction Gestion de la mémoire
Langages de programmation
![Page 3: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/3.jpg)
Introduction
Présentation du langage C
![Page 4: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/4.jpg)
Un exemple simple Le Hello World
#include <stdio.h> int main(void) {
printf("hello, world\n");return 0;
}
![Page 5: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/5.jpg)
Le langage C Les fichiers en tête
#include <stdio.h> int main(void) {
printf("hello, world\n");return 0;
}
Header
![Page 6: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/6.jpg)
Le langage C Les fichiers C
#include <stdio.h> int main(void) {
printf("hello, world\n");return 0;
}
HelloWorld.c
![Page 7: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/7.jpg)
Des sources à l’executable
Préprocesseur
![Page 8: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/8.jpg)
Des sources à l’executable Directives du préprocesseur
#include <stdio.h> int main(void) {
printf("hello, world\n");return 0;
}
Preprocess
![Page 9: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/9.jpg)
Des sources à l’executable
Directives du préprocesseur #include
#define
![Page 10: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/10.jpg)
Des sources à l’executable
Compilation
![Page 11: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/11.jpg)
Des sources à l’executable
Liens
![Page 12: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/12.jpg)
Syntaxe Les fichiers en tête
#include <stdio.h> int main(void) {
printf("hello, world\n");return 0;
}
Elements de syntaxe
![Page 13: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/13.jpg)
Types et variables Types entiers : char
char toto = ‘c’; Types entiers : short, unsigned short
short court = 12; Types entiers : int, unsigned int.
int moinsCourt = 24; Types entiers : long, unsigned long.
long plusLong = 36; Types à virgule flottante : float, double
float aVirgule = 24,36;
![Page 14: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/14.jpg)
Types et variables Types énumérés : enum
enum jourSemaine{
Samedi = 0,Dimanche = 1,Lundi = 2,Mardi = 3,Mercredi = 4,Jeudi = 5,Vendredi = 6
};
![Page 15: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/15.jpg)
Types et variables
Types élaborés : struct, union, * pour les pointeurs, [ ... ] pour les tableaux, ( ... ) pour les fonctions.
![Page 16: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/16.jpg)
Types élaborés Les pointeurs
Définition Un pointeur va ‘pointer’ vers des données
Allocation et libération mémoire La gestion de la mémoire
Le signe * Indiquation d’un pointeur Récupérer les données
Le signe & Récupérer le pointeur
![Page 17: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/17.jpg)
Types élaborés Les pointeurs
Allocation statique
int p[10];p[0] = 1;p[1] = 2;…P[9] = 10;
int a = 2; int * p = NULL; p = &a ; *p = 2;
![Page 18: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/18.jpg)
Types élaborés Les pointeurs
Allocation Dynamique, l’instruction malloc
int *p = malloc(sizeof(int)*n);
![Page 19: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/19.jpg)
Types élaborés Les pointeurs
Libération Dynamique, l’instruction free
free(p)
![Page 20: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/20.jpg)
Types élaborés
Tableau de caractères
char tab[] = {'t', 'a', 'b', '\0'}; char * p1 = &tab[0];
![Page 21: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/21.jpg)
Types élaborés Les fonctions
Définition
Déclaration d’une fonction
Le corps de la fonction
Le retour de la fonction !
F()
![Page 22: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/22.jpg)
Types élaborés
Comment appeler une fonction
Un exemple de ce que nous avons vu
Un exercice ou deux
![Page 23: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/23.jpg)
Structures de contrôle
L’instruction conditionnelle ‘if’ Si telle condition est vrai, alors
Les opérateurs && || Les tests <= >= == etc…
Sinon, si… Sinon…
![Page 24: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/24.jpg)
Structures de contrôle
L’instruction Switch Permet le choix
Instruction très puissante
![Page 25: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/25.jpg)
Structures de contrôle
Les boucles for
while
do… while
![Page 26: Rappels C. Introduction Gestion de la mémoire Langages de programmation.](https://reader035.fdocuments.us/reader035/viewer/2022062621/551d9d7f497959293b8b756c/html5/thumbnails/26.jpg)
Exemples Et Exercices