Au commencement le C !
ERROR
00:00
00:00

TUTO Au commencement le C !

Frédéric Drouillon
40,00€

Téléchargement & visionnage illimité

Satisfait ou remboursé

Paiement 100% sécurisé

Le langage C : un outil de création

Véritable tous terrains souple et maniable du développement informatique, la programmation C se pratique et s'apprend un peu comme un instrument de musique, une langue, un sport, un jeu vidéo (RPG par exemple) .

Il s'agit d'un outil de création extrêmement puissant, exploitable dans d'innombrables domaines, des jeux vidéo aux applications professionnelles.
Un langage très simple, comme indiqué dans la vidéo de présentation, le C se réduit à quelques outils (variables, sauts, branchement, boucles, fonction, ensembles de variables, pointeurs.).

En outre le C constitue la racine de très nombreux autres langages : C++, Objective-C, Perl, Python, Java, PHP, Ruby, Javascript, C#, Groovy, Scala etc. Le C s'intègre généralement dans les formations d'écoles d'ingénieurs, de licences et bachelors d'informatique.
 

Des Publics Variés à l'origine de cette formation C en vidéo

La formation proposée ici provient directement de classes préparatoires scientifiques (ECE / école centrale d'électronique Paris), d'école d'ingénieurs (ISAT, Nevers), de premières années de licence d'informatique (Universités Paris 8, cs2i Bourgogne).

Elle a également donné lieu à des ateliers de programmation en licence de lettres modernes (université d'Artois), en école d'art (ESAAB Nevers) et auprès de collégiens en partenariat avec le réseau des bibliothèques municipales de la Nièvre (La charité sur Loire, Cosne sur Loire, Nevers).
Ce cours  est actuellement publié aux éditions ENI, accessible en librairie, sur Amazon, à la Fnac.

Comment Apprendre le langage C ?

  • Comprendre
    La première étape consiste à comprendre et expérimenter le fonctionnement de chacun des outils.
    Ensuite, il s'agit de les mettre en œuvre et de les combiner afin de réaliser des projets. Mais il y a un piège redoutable : comprendre n'est pas savoir faire ! Seule la pratique permet d'acquérir de la maîtrise.
  • Pratiquer
    En général, le mieux est de commencer par des petits tests effectués avec chaque nouvel outil étudié : comment je fais pour avoir une variable dans mon programme ? Comment je lui affecte une valeur ? Comment j'écris un if ? Comment réagit-il à l'exécution ? etc. 
    Se questionner : qu'est-ce que ça fait si ... ? Puis, testez pour voir et comprendre le pourquoi lorsque c'est accessible.
  • Se lancer dans des projets.
    Au départ, les projets sont très modestes ; souvent ce sont plutôt des exercices courts.
    Très vite, la réalisation de jeux est possible. La réalisation de jeux vidéo est très formatrice.

Ce tuto vous fournira de nombreux exercices. Choisissez ceux qui vous plaisent ou inventez-en à votre idée.

Quelques conseils pour suivre ce cours en ligne

  • Le premier cours sur les variables simples est incontournable. Il ne contient rien de difficile  mais beaucoup de détails l'alourdissent. A cause de cela, il peut paraître fastidieux. Heureusement, ça devient naturel très rapidement.
  • Suivez les vidéos en refaisant les programmes au fur et à mesure, vous pouvez aussi retrouver le code en téléchargement.
  • Apportez des modifications personnelles en mettant alors la vidéo sur pause, puis reprenez la vidéo après.
  • Faites des tests qui vous viennent à l'esprit, et en cas de problème regardez bien ce que le compilateur vous dit (soulignements en rouge lors de l'écriture du code, avertissements et erreurs avec la compilation). Ensuite, reprenez le cours là où vous l'avez laissé.
  • Résolvez vous-même les exercices : ce n'est pas la solution qui compte, ce qui compte c'est de trouver une solution.
    Cependant, comme il est parfois intéressant d'étudier une solution vous trouverez les corrigés des exercices dans les fichiers texte à télécharger (ce sont les corrigés fournis avec le livre ).
  • L'important c'est d'avancer. Inutile de rester bloqué quelque part trop longtemps sur un détail apparemment insoluble. N'hésitez pas à continuer. Vous trouverez des occasions de résoudre le problème dans les séquences suivantes.
    Vous pouvez aussi me contacter via la plateforme ou utiliser votre moteur de recherche préféré.

La compétence ne s'achète pas, elle ne se transmet pas non plus, elle s'acquiert. En réalité, vous recréez le C en vous-même : ce sera votre C, il ne sera plus anonyme; apprendre c'est créer.

Qu’allez-vous apprendre dans ce cours ?

Plan de cours
Chapitre 1
[NIVEAU1] Pour travailler avec Code::Blocks
Chapitre 2
[N1] Pour travailler avec Visual Studio (conseillé)
Chapitre 3
[N1] Variables simples
Chapitre 4
[N1] Opérations
Chapitre 5
[N2] Sauts conditionnels
Chapitre 6
[N2] Branchements
Chapitre 7
[N2] Multiconditions ET, OU

Plan détaillé du cours

Chapitre 1 : [NIVEAU1] Pour travailler avec Code::Blocks
13m28s
 
Leçon 11 Installer CodeBlocks
Leçon 22 Faire un projet sous CodeBlocks
Leçon 33 Premier programme sous CobeBlock
Leçon 44 Plusieurs projets dans un seul espace de travail
Chapitre 2 : [N1] Pour travailler avec Visual Studio (conseillé)
22m26s
 
Leçon 11 Installer Microsoft Visual Studio (ici installation de Visual Studio 2017 mais c'est identique pour Visual Studio 2019. Les autres vidéos sont faites avec VS2019)
Leçon 22 Faire un projet sous visual studio
Leçon 33 Premier programme sous Visual Studio
Leçon 44 Plusieurs projets dans un seul espace de travail et modèles de projet (templates)
Chapitre 3 : [N1] Variables simples
1h19m
 
Leçon 11 Types et déclaration des variables (avec mise en pratique)
Leçon 22 La fonction printf et ses formats (avec mise en pratique)
Leçon 33 Les fonctions scanf et scanf_s pour entrer des valeurs dans la console (avec mise en pratique)
Leçon 44 Codage ascii des caractères (avec mise en pratique)
Leçon 55 Obtenir les accents (é,è, à etc.) dans la console
Leçon 66 Les constantes
Leçon 77 Le type booléen en C (apport de la norme C99)
Leçon 88 Troncatures et plages de valeur des variables (avec mise en pratique)
Chapitre 4 : [N1] Opérations
1h16m
 
Leçon 11 Faire des opérations arithmétiques (avec mise en pratique)
Leçon 22 Opérateurs de post et pré incrémentation ou décrémentation (avec mise en pratique)
Leçon 33 Conversions entre types différents, opérateur de cast (avec mise en pratique)
Leçon 44 Priorités des opérateurs (se retrouvent dans les mises en pratique précédentes)
Leçon 55 Nombres aléatoires (avec mise en pratique)
Leçon 6Scanf : précisions, certaines peuvent aider à éviter des erreurs fréquentes. Attention toutefois à ne pas perdre trop de temps avec scanf. A voir une fois.
Leçon 7Scanf_s : une précision bien spécifique et une introduction aux chaines de caractères. Présentation de la fonction fgets.
Chapitre 5 : [N2] Sauts conditionnels
35m25s
 
Leçon 11 Blocs d'instructions : aborde visibilité et durée de vie des variables, les opérateurs de comparaison et l'opérateur unaire
Leçon 22 Le if seul (avec mise en pratique)
Leçon 33 Le if suivi de else (avec mise en pratique)
Leçon 44 Forme contractee du ifsuivi de else
Leçon 55 Le if suivi d'un ou plusieurs else if et avec ou non un else final (avec mise en pratique)
Chapitre 6 : [N2] Branchements
08m23s
 
Leçon 11 Le switch avec les case et break (avec mise en pratique)
Chapitre 7 : [N2] Multiconditions ET, OU
33m01s
 
Leçon 11 La conjonction ET, opérateur && (avec mise en pratique)
Leçon 22 La conjonction OU, opérateur || (avec mise en pratique)
Leçon 33 Dans une expression le ET est prioritaire sur le OU (avec mise en pratique)
Chapitre 8 : [N3] Boucles
34m33s
 
Leçon 11 Boucle while (avec mise en pratique)
Leçon 22 Boucle do-while (avec mise en pratique)
Leçon 33 Boucle for (avec mise en pratique)
Leçon 44 Comparaison des trois boucles
Leçon 55 Boucles imbriquées. Deux exemples : contrôler le temps d'exécution et base algorithmique de John connor pour craquer des cartes bleues dans terminator 2
Chapitre 9 : [N3] Utilisations typiques de boucles
50m26s
 
Leçon 11 Menu utilisateur simple, non graphique (avec mise en pratique )
Leçon 22 Commencer un jeu : réaliser une boucle d'événements simple et bouger un joueur avec les flèches du clavier (comprend une mise en pratique)
Leçon 33 Quelques indications pour aider à la mise en place d'ennemis mobiles
Chapitre 10 : [N4] Fonctions
1h35m
 
Leçon 11 Principes des fonctions, introduction descriptive
Leçon 22 Fonctions sans retour et sans paramètre (avec mise en pratique)
Leçon 33 Fonctions avec retour et sans paramètre (avec mise en pratique)
Leçon 44 Fonctions sans retour et avec paramètre (avec mise en pratique)
Leçon 55 Fonctions avec retour et avec paramètre (avec mise en pratique)
Leçon 66 Généraliser du code grace à l'écriture de fonctions (avec mise en pratique)
Leçon 77 Transformer des entrées en sorties : pointeurs en paramètre de fonction, le passage par référence (avec mise en pratique)
Leçon 88 Courte introduction à la récursivité
Chapitre 11 : [N4] Gestions des variables
20m51s
 
Leçon 11 Visibilité et durée de vie des variables (avec mise en pratique)
Leçon 22 Style, commentaires et indentations (avec mise en pratique)
Chapitre 12 : [N5] Structures
1h31m
 
Leçon 11 Définir et déclarer une structure, mot clé struct (avec mise en pratique)
Leçon 22 Utiliser un typedef (avec mise en pratique)
Leçon 33 Copier des structures (avec mise en pratique)
Leçon 44 Structures et fonctions (avec mise en pratique)
Leçon 55 Structures et fonctions, exemple orienté jeux vidéo (avec mise en pratique)
Chapitre 13 : [N5] Tableaux
1h54m
 
Leçon 11 Tableaux statiques à une dimension (avec mise en pratique)
Leçon 22 Tableaux statiques à plusieurs dimensions ( (avec proposition de mise en pratique)
Leçon 33 Exemples d'utilisation des tableaux : chaines de caractères, images bitmap ou tile mapping, classement et localisation d'une information (avec proposition de mise en pratique)
Leçon 44 Tableaux et structures : des tableaux dans des structures et surtout des tableaux de structures (avec mise en pratique)
Leçon 55 Tableaux à une dimension en paramètre de fonction (avec mise en pratique)
Leçon 66 Tableaux statiques à plusieurs dimensions en paramètre de fonction (avec mise en pratique)
Chapitre 14 : [N5] Unions
50m27s
 
Leçon 11 Principe et fonctionnement de l'union.
Leçon 22 Union discriminée, cas général
Leçon 33 Unions discriminés, exemple d'une station météo
Leçon 44 Unions discriminés, un tableau d'ennemis de différents types dans un jeu
Chapitre 15 : [N5] Etudes de cas : deux automates cellulaires
1h
 
Leçon 11 Réaliser un automate cellulaire
Leçon 22 Amélioration graphique : augmenter la vitesse d'affichage
Leçon 33 Répartir un programme sur plusieurs fichiers sources
Leçon 44 Simulation d'un feu de forêt
Chapitre 16 : [N5] Etude de cas : une base de jeu vidéo dans l'univers console
2h06m
 
Leçon 11 Présentation de l'étude
Leçon 22 Etude aventures I : un joueur se déplace dans un monde.
Leçon 33 Etude aventures II : plusieurs niveaux, chaque niveau introduit des sols différents avec des difficultés spécifiques de déplacement.
Leçon 44 Etude aventures III : le joueur doit ramasser des trésors à chaque niveau. Les trésors sont rangés dans un ordre précis et répartis sur les différentes natures de terrains.
Leçon 55 Etude aventures IV : des ennemis mobiles viennent géner le joueur.
Chapitre 17 : [N5] Propositions pour des premiers projets
08m23s
 
Leçon 1Quelques idées de projets à réaliser.
Chapitre 18 : [N6] Pointeurs : le fonctionnement
46m59s
 
Leçon 11 Quatre opérateurs dédiès aux pointeurs (&, *, ->, [ ])
Leçon 22 Allocation dynamique, fonction malloc
Leçon 33 La valeur NULL
Leçon 44 Pointeur générique void*
Leçon 55 Pointeurs et constantes
Leçon 66 Pointeurs de fonctions
Chapitre 19 : [N6] Pointeurs : utilisation en allocation dynamique
57m53s
 
Leçon 11 Allouer un tableau à une dimension
Leçon 22 Allouer un tableau à deux dimensions (une matrice)
Leçon 33 Allouer un tableau de n dimensions
Leçon 44 Tester les limites mémoire imposées aux tableaux et aux paramètres de fonction
Leçon 55 Solution tout pointeur : plus rapide, pas de limite mémoire hormi celle de la ram et du point de vue de l'écriture c'est assez pratique.
Chapitre 20 : [N6] Pointeurs : utilisation en paramètre de fonction
32m56s
 
Leçon 11 Passage par référence, cas général.
Leçon 22 Passage par référence d'une variable pointeur : initialiser un pointeur avec un appel de fonction via un passage par référence du pointeur.
Leçon 33 Passage de fonctions en paramètre de fonction
Chapitre 21 : [6] Pointeurs : utilisation pour relier des structures
26m22s
 
Leçon 11 Relier une structure à une autre
Leçon 22 Lier réciproquement deux structures différentes
Leçon 33 Chainer des structures de même type
Chapitre 22 : [N6] Fichiers
1h35m
 
Leçon 11 Créer ou ouvrir un fichier et le refermer.
Leçon 22 Chemins d'accès à un fichier relatif ou absolu.
Leçon 33 Lire et écrire dans un fichier binaire
Leçon 44 Lire et écrire dans un fichier texte
Leçon 55 Déplacements dans un fichier
Leçon 66 Sauvegarder des éléments dynamiques. Trois parties : Sauvegarder un élément unique, Sauvegarder un tableau dynamique, Sauvegarder un tableau dynamique de pointeurs.,

Vos questions sur le cours

Avec quelles versions de logiciels ce tuto est-il compatible ?

Microsoft Visual Studio 2019 community, codeblocks 17.12

Quel est le niveau requis pour suivre ce tuto ?

débutant

Attendez ! 🤗

Accédez à plus de 1330 tutos gratuits

Notre politique de protection des données