Apprenez à programmer en C !

Programming, C Language · course

Voir tous les documents en programmation

Apprenez

programmer en C !

Par Mathieu Nebra (M@teo21)

www.siteduzero.com

Licence Creative Commons 6 2.0

Derni re mise jour le 29/11/2012

Sommaire

2/399

Sommaire ...........................................................................................................................................

Lire aussi ............................................................................................................................................

Apprenez programmer en C ! ..........................................................................................................

Partie 1 : Les bases de la programmation en C ..................................................................................

Vous avez dit programmer ? .............................................................................................................................................

Programmer, c'est quoi ? ............................................................................................................................................................................................

Programmer, dans quel langage ? ............................................................................................................................................................................

Un peu de vocabulaire ..............................................................................................................................................................................................

Pourquoi choisir d'apprendre le C ? ..........................................................................................................................................................................

Programmer, c'est dur ? ............................................................................................................................................................................................

Ayez les bons outils ! .......................................................................................................................................................

Les outils n cessaires au programmeur ...................................................................................................................................................................

Choisissez votre IDE .................................................................................................................................................................................................

Code::Blocks (Windows, Mac OS, Linux) ..................................................................................................................................................................

T l charger Code::Blocks .........................................................................................................................................................................................

Cr er un nouveau projet ............................................................................................................................................................................................

Visual C++ (Windows seulement) .............................................................................................................................................................................

Installation .................................................................................................................................................................................................................

Cr er un nouveau projet ............................................................................................................................................................................................

Ajouter un nouveau fichier source .............................................................................................................................................................................

La fen tre principale de Visual ..................................................................................................................................................................................

Xcode (Mac OS seulement) ......................................................................................................................................................................................

Xcode, o es-tu ? ......................................................................................................................................................................................................

Lancement de Xcode ................................................................................................................................................................................................

La fen tre de d veloppement ...................................................................................................................................................................................

Ajouter un nouveau fichier ........................................................................................................................................................................................

En r sum .................................................................................................................................................................................................................

Votre premier programme ...............................................................................................................................................

Console ou fen tre ? .................................................................................................................................................................................................

Les programmes en fen tres ....................................................................................................................................................................................

Les programmes en console .....................................................................................................................................................................................

Un minimum de code ................................................................................................................................................................................................

Demandez le code minimal votre IDE ....................................................................................................................................................................

Analysons le code minimal ........................................................................................................................................................................................

Testons notre programme .........................................................................................................................................................................................

crire un message l' cran ......................................................................................................................................................................................

Dis Bonjour au Monsieur ...........................................................................................................................................................................................

Les caract res sp ciaux ...........................................................................................................................................................................................

Le syndrome de G rard ............................................................................................................................................................................................

Les commentaires, c'est tr s utile ! ...........................................................................................................................................................................

Un monde de variables ...................................................................................................................................................

Une affaire de m moire .............................................................................................................................................................................................

Les diff rents types de m moire ...............................................................................................................................................................................

La m moire vive en photos .......................................................................................................................................................................................

Le sch ma de la m moire vive .................................................................................................................................................................................

D clarer une variable ................................................................................................................................................................................................

Donner un nom ses variables ................................................................................................................................................................................

Les types de variables ...............................................................................................................................................................................................

D clarer une variable ................................................................................................................................................................................................

Affecter une valeur une variable .............................................................................................................................................................................

La valeur d'une nouvelle variable ..............................................................................................................................................................................

Les constantes ..........................................................................................................................................................................................................

Afficher le contenu d'une variable .............................................................................................................................................................................

Afficher plusieurs variables dans un m me printf .....................................................................................................................................................

R cup rer une saisie ................................................................................................................................................................................................

Une b te de calcul ...........................................................................................................................................................

Les calculs de base ...................................................................................................................................................................................................

La division .................................................................................................................................................................................................................

Le modulo .................................................................................................................................................................................................................

Des calculs entre variables .......................................................................................................................................................................................

Les raccourcis ...........................................................................................................................................................................................................

L'incr mentation ........................................................................................................................................................................................................

Publicité

La d cr mentation ....................................................................................................................................................................................................

Les autres raccourcis ................................................................................................................................................................................................

La biblioth que math matique ..................................................................................................................................................................................

fabs ............................................................................................................................................................................................................................

ceil .............................................................................................................................................................................................................................

floor ...........................................................................................................................................................................................................................

pow ............................................................................................................................................................................................................................

sqrt ............................................................................................................................................................................................................................

sin, cos, tan ...............................................................................................................................................................................................................

asin, acos, atan .........................................................................................................................................................................................................

exp .............................................................................................................................................................................................................................

log ..............................................................................................................................................................................................................................

log10 ..........................................................................................................................................................................................................................

2

6

8

8

9

9

10

10

11

12

13

14

14

15

15

17

19

20

20

23

24

25

25

25

26

27

28

28

29

29

29

31

31

32

34

35

36

37

38

39

40

41

41

42

43

45

45

45

47

48

49

50

50

52

52

54

55

Publicité

56

57

57

59

59

59

60

60

61

62

62

62

62

62

63

63

63

63

www.siteduzero.com

Sommaire

3/399

En r sum .................................................................................................................................................................................................................

Les conditions .................................................................................................................................................................

La condition if... else .................................................................................................................................................................................................

Quelques symboles conna tre ................................................................................................................................................................................

Un if simple ...............................................................................................................................................................................................................

Le else pour dire sinon ........................................................................................................................................................................................

Le else if pour dire sinon si .................................................................................................................................................................................

Plusieurs conditions la fois .....................................................................................................................................................................................

Quelques erreurs courantes de d butant ..................................................................................................................................................................

Les bool ens, le coeur des conditions ......................................................................................................................................................................

Quelques petits tests pour bien comprendre ............................................................................................................................................................

Des explications s'imposent ......................................................................................................................................................................................

Un test avec une variable ..........................................................................................................................................................................................

Cette variable majeur est un bool en .......................................................................................................................................................................

Les bool ens dans les conditions .............................................................................................................................................................................

La condition switch ....................................................................................................................................................................................................

Construire un switch ..................................................................................................................................................................................................

G rer un menu avec un switch ..................................................................................................................................................................................

Les ternaires : des conditions condens es ...............................................................................................................................................................

Une condition if... else bien connue ..........................................................................................................................................................................

La m me condition en ternaire ..................................................................................................................................................................................

En r sum .................................................................................................................................................................................................................

Les boucles .....................................................................................................................................................................

Qu'est-ce qu'une boucle ? .........................................................................................................................................................................................

La boucle while ..........................................................................................................................................................................................................

Attention aux boucles infinies ....................................................................................................................................................................................

La boucle do& while .................................................................................................................................................................................................

La boucle for ..............................................................................................................................................................................................................

En r sum .................................................................................................................................................................................................................

TP : Plus ou Moins, votre premier jeu .............................................................................................................................

Pr paratifs et conseils ...............................................................................................................................................................................................

Le principe du programme ........................................................................................................................................................................................

Tirer un nombre au sort .............................................................................................................................................................................................

Les biblioth ques inclure ........................................................................................................................................................................................

J'en ai assez dit ! .......................................................................................................................................................................................................

Correction ! ................................................................................................................................................................................................................

La correction de Plus ou Moins ...........................................................................................................................................................................

Ex cutable et sources ...............................................................................................................................................................................................

Explications ...............................................................................................................................................................................................................

Id es d'am lioration ..................................................................................................................................................................................................

Les fonctions ...................................................................................................................................................................

Cr er et appeler une fonction ....................................................................................................................................................................................

Sch ma d'une fonction ..............................................................................................................................................................................................

Cr er une fonction .....................................................................................................................................................................................................

Plusieurs param tres, aucun param tre ...................................................................................................................................................................

Appeler une fonction .................................................................................................................................................................................................

Des exemples pour bien comprendre .......................................................................................................................................................................

Conversion euros / francs .........................................................................................................................................................................................

La punition .................................................................................................................................................................................................................

Publicité

Aire d'un rectangle ....................................................................................................................................................................................................

Un menu ....................................................................................................................................................................................................................

En r sum .................................................................................................................................................................................................................

Partie 2 : Techniques avanc es du langage C ............................................................................

La programmation modulaire ..........................................................................................................................................

Les prototypes ...........................................................................................................................................................................................................

Le prototype pour annoncer une fonction ..................................................................................................................................................................

Les headers ...............................................................................................................................................................................................................

Plusieurs fichiers par projet .......................................................................................................................................................................................

Fichiers .h et .c ........................................................................................................................................................................................................

Les include des biblioth ques standard ..................................................................................................................................................................

La compilation s par e ...........................................................................................................................................................................................

La port e des fonctions et variables .......................................................................................................................................................................

Les variables propres aux fonctions ........................................................................................................................................................................

Les variables globales : viter ..............................................................................................................................................................................

Variable statique une fonction ..............................................................................................................................................................................

Les fonctions locales un fichier ............................................................................................................................................................................

En r sum ...............................................................................................................................................................................................................

l'assaut des pointeurs .................................................................................................................................................

Un probl me bien ennuyeux ....................................................................................................................................................................................

La m moire, une question d'adresse ......................................................................................................................................................................

Rappel des faits .......................................................................................................................................................................................................

Adresse et valeur .....................................................................................................................................................................................................

Le scoop du jour ......................................................................................................................................................................................................

Utiliser des pointeurs ...............................................................................................................................................................................................

Cr er un pointeur .....................................................................................................................................................................................................

retenir absolument ...............................................................................................................................................................................................

Envoyer un pointeur une fonction .........................................................................................................................................................................

Une autre fa on d'envoyer un pointeur une fonction ............................................................................................................................................

Qui a dit : "Un probl me bien ennuyeux" ? .............................................................................................................................................................

En r sum ...............................................................................................................................................................................................................

Les tableaux ..................................................................................................................................................................

63

63

64

64

64

66

67

67

68

69

69

70

70

71

71

72

72

73

75

75

75

76

77

77

77

79

80

80

81

81

82

82

82

83

83

84

84

84

Publicité

85

85

86

87

88

88

89

90

93

93

94

95

96

97

98

98

98

98

99

99

100

103

104

106

106

107

108

109

109

111

111

112

112

113

114

115

115

118

119

120

122

123

123

www.siteduzero.com

Sommaire

4/399

Les tableaux dans la m moire ................................................................................................................................................................................

D finir un tableau ....................................................................................................................................................................................................

Les tableaux taille dynamique ..............................................................................................................................................................................

Parcourir un tableau ................................................................................................................................................................................................

Initialiser un tableau ................................................................................................................................................................................................

Une autre fa on d'initialiser .....................................................................................................................................................................................

Passage de tableaux une fonction .......................................................................................................................................................................

Quelques exercices ! ...............................................................................................................................................................................................

En r sum ...............................................................................................................................................................................................................

Les cha nes de caract res ............................................................................................................................................

Le type char .............................................................................................................................................................................................................

Afficher un caract re ...............................................................................................................................................................................................

Les cha nes sont des tableaux de char ...................................................................................................................................................................

Cr ation et initialisation de la cha ne ......................................................................................................................................................................

R cup ration d'une cha ne via un scanf .................................................................................................................................................................

Fonctions de manipulation des cha nes ..................................................................................................................................................................

Pensez inclure string.h .........................................................................................................................................................................................

strlen : calculer la longueur d'une cha ne ................................................................................................................................................................

strcpy : copier une cha ne dans une autre ..............................................................................................................................................................

strcat : concat ner 2 cha nes ..................................................................................................................................................................................

strcmp : comparer 2 cha nes ...................................................................................................................................................................................

strchr : rechercher un caract re .............................