Apprenez à programmer en C !

Page 1 sur 409Lecteur de document UniversityLib

Apprenez à programmer en C !

Computer Science · 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

Publicité

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 ........................................................................................................................................................................................................ 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 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 ................................................................................................................................................................................................................. Aire d'un rectangle .................................................................................................................................................................................................... Un menu .................................................................................................................................................................................................................... En résumé .................................................................................................................................................................................................................

Publicité

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 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 ............................................................................................................................................

Publicité

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 .............................................................................................................................................................................. strpbrk : premier caractère de la liste ...................................................................................................................................................................... strstr : rechercher une chaîne dans une autre ........................................................................................................................................................ sprintf : écrire dans une chaîne ............................................................................................................................................................................... En résumé ...............................................................................................................................................................................................................

Le préprocesseur .......................................................................................................................................................... Les include .............................................................................................................................................................................................................. Les define ................................................................................................................................................................................................................ Un define pour la taille des tableaux ....................................................................................................................................................................... Calculs dans les define ........................................................................................................................................................................................... Les constantes prédéfinies ..................................................................................................................................................................................... Les définitions simples ..............