26
Rappels C

Rappels C. Introduction Gestion de la mémoire Langages de programmation

Embed Size (px)

Citation preview

Page 1: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Rappels C

Page 2: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Introduction Gestion de la mémoire

Langages de programmation

Page 3: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Introduction

Présentation du langage C

Page 4: Rappels C. Introduction Gestion de la mémoire Langages de programmation

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

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

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

Des sources à l’executable

Préprocesseur

Page 8: Rappels C. Introduction Gestion de la mémoire Langages de programmation

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

Des sources à l’executable

Directives du préprocesseur #include

#define

Page 10: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Des sources à l’executable

Compilation

Page 11: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Des sources à l’executable

Liens

Page 12: Rappels C. Introduction Gestion de la mémoire Langages de programmation

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

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

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

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

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

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

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

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

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

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

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

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

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

Structures de contrôle

Les boucles for

while

do… while

Page 26: Rappels C. Introduction Gestion de la mémoire Langages de programmation

Exemples Et Exercices