Bonjour et bienvenue au cours de programmation C pour débutants.
Je m'appelle Jason Fitton et je serai votre instructeur.
Je tiens à vous remercier de vous être inscrit à ce cours.
Ce sera très amusant et je ferai de mon mieux pour vous motiver et vous aider à apprendre tout ce qu'il faut savoir sur
le langage de programmation C.
Commençons.
Tout d'abord, je voudrais vous parler un peu de moi.
Je suis titulaire d'un master en informatique de l'université de Binghamton et
d'une licence en informatique de SUNY Oswego.
J'ai obtenu ma maîtrise en 2001.
Je suis développeur de logiciels depuis plus de 16 ans.
Je suis formateur en ligne depuis plus de 11 ans.
J'ai donné plus de 20 cours différents, allant de la programmation orientée objet à la théorie
des compilateurs.
J'ai une grande expérience de la programmation et de l'informatique en général.
Je travaille avec le langage de programmation C depuis plus de 16 ans.
En fait, dès que j'ai obtenu mon premier emploi, j'ai commencé à écrire du code C.
J'ai également créé des cours de C pour débutants et avancés dans plusieurs universités, j'ai donc une bonne expérience
des programmes d'études et de la présentation des concepts de C aux étudiants.
J'ai été développeur de logiciels chez Xerox Corporation pendant 10 à 12 ans.
Depuis que je travaille ici, j'écris principalement du code C et aussi un peu de code C plus plus.
Nous exécutons l'ensemble de notre dépôt de code source sur la plate-forme Linux et nous écrivons du code en temps réel.
Je me concentre principalement sur les langages orientés objet et la programmation mobile.
C'est ce que j'aime faire.
Donc des choses comme C plus Plus et Java, mais le langage C est vraiment mon domaine de prédilection.
Je me concentre également sur l'écriture d'un code de haute qualité.
Il s'agit d'un concept essentiel et important sur lequel je vais insister tout au long du cours.
Je veux que vous vous concentriez sur l'écriture d'un bon code, pas seulement d'un code qui fonctionne,
mais d'un code qui facilitera la maintenance du programme.
Voici donc quelques-uns des sujets que nous aborderons dans ce cours.
D'ailleurs, lorsque nous aborderons ces sujets, nous fournirons des informations.
Je vais fournir le matériel de cours.
Je vais proposer des exercices pratiques.
Je vais fournir des évaluations.
Je vais vous présenter le code et les concepts de programmation au fur et à mesure que je l'édite dans un environnement de développement
intégré.
Il s'agira donc d'un travail très concret.
Nous allons tout d'abord parler du langage C en général et vous en donner un aperçu.
Je vais vous expliquer comment le langage de programmation C est très efficace.
Il est également portable.
Vous pouvez l'écrire sur plusieurs plateformes.
Il a beaucoup de puissance et de flexibilité, et il est orienté vers les programmeurs.
Je vous propose également un bref historique du C, juste pour donner un peu de contexte.
Nous poursuivrons en décrivant certaines des caractéristiques du langage commun du C.
Le C est un langage impératif.
Il s'agit du type de langue le plus moderne.
Il est organisé autour de fonctions.
Il a une conception modulaire, c'est un langage de programmation structuré.
Il est également possible d'avoir une planification descendante lorsque vous écrivez votre code.
Les avantages de l'utilisation du langage C se concentrent sur le fait que le langage C est idéal pour les petits programmes rapides.
Il est très fiable, très facile à apprendre et à comprendre.
Si vous suivez un programme C auprès d'un collègue ou d'un développeur, vous serez capable de le suivre
assez rapidement.
Nous allons utiliser un environnement de développement intégré moderne et multiplateforme.
Nous allons modifier le code.
Nous allons également utiliser l'IDE pour déboguer notre code, ce qui est très important.
Il sera donc présenté comme l'un des concepts.
Je vais vous guider dans l'environnement et vous montrer comment utiliser l'outil.
Nous allons commencer par les concepts de base.
Je vais vous décrire à quoi ressemble un programme C et vous donner un exemple.
Je vais vous montrer la structure d'un programme C de base.
Nous verrons comment vous pouvez ajouter des commentaires à votre code et comment vous pouvez obtenir une sortie de base à l'aide de la fonction printf.
Nous examinerons un exemple de Hello World et nous vous demanderons d'écrire votre premier programme en C.
Nous poursuivrons en parlant des makefiles.
Nous n'entrerons pas dans les détails des makefiles, mais je souhaite en parler pour vous aider à comprendre
comment vous pouvez utiliser cet outil pour construire et compiler votre code.
Nous allons aborder le concept de programmation le plus élémentaire qui soit, à savoir la création et l'utilisation
de variables.
Les variables, c'est l'idée d'associer à un nom la mémoire, les données et la mémoire de votre programme.
Et vous allez créer de nombreuses variables et de nombreuses instructions différentes dans votre code.
Nous parlerons des types de données, qui comprennent les types de données float double et char.
Plus tard dans le cours, nous parlerons de types de données plus avancés, comme les enums, et nous fournirons
nos propres types de données en utilisant le mot-clé typedef.
Je fournirai des informations sur les opérateurs de base.
Il s'agit d'opérations telles que l'addition ou la soustraction, les opérateurs mathématiques.
Il comprend également des opérateurs logiques tels que and or, or.
Il s'agirait en quelque sorte d'une déclaration de décision.
Nous verrons comment affecter des données à une variable à l'aide d'un opérateur d'affectation.
Prendre des décisions dans votre code.
Concept de programmation très important.
Nous y reviendrons.
C'est ce qu'on appelle les déclarations conditionnelles.
Il s'agit de mots-clés tels que "si" et "interrupteur".
Nous donnerons des exemples et examinerons les différents éléments de cette construction.
Poursuivez en parlant de la répétition du code.
Les principales constructions de boucles en C sont for while et do while.
Ils sont tous identiques.
La syntaxe est juste un peu différente.
Nous allons voir comment vous pouvez stocker des données et les classer dans deux catégories différentes à l'aide de tableaux.
Nous verrons donc comment définir des tableaux d'initialisation, puis des tableaux multidimensionnels,
ce qui est un peu comme un concept de feuille de calcul matricielle.
Fonctions.
Les fonctions sont l'un des concepts les plus importants du langage de programmation C.
Tout ne devrait pas être utilisé et organisé autour d'une fonction.
C'est ce que l'on appelle la programmation par modules.
Vous allez apprendre à déclarer une fonction, à l'utiliser, à lui transmettre des données et
à lui en renvoyer.
Nous aborderons également des concepts plus avancés tels que l'appel par valeur et l'appel par référence Débogage.
Le débogage est un concept vital et essentiel pour tous les programmeurs.
C'est l'idée de trouver et de corriger ses erreurs.
Nous allons parler de la pile d'appels, qui peut vous montrer si votre programme s'est planté à l'endroit où il s'est planté.
Concept très important.
Je vous fournirai les erreurs courantes que commettent de nombreux programmeurs C, de sorte que si vous voyez ces erreurs,
vous saurez comment les corriger.
Ensuite, le compilateur vérifie votre code pour s'assurer qu'il est syntaxiquement correct.
Si ce n'est pas le cas, il vous enverra des messages d'erreur ou des avertissements.
Vous devez comprendre ce que le compilateur vous dit.
Nous allons donc parler des messages du compilateur et de la manière de les comprendre.
Nous allons parler des structures.
Vous allez tout apprendre sur les structs, qui sont similaires aux tableaux et qui permettent de stocker des données.
Il s'agit d'une structure de données.
Nous allons voir comment vous pouvez initialiser les structures, comment il existe ce concept de structures imbriquées.
Pour ceux d'entre vous qui sont familiers avec les objets, cela peut s'apparenter à cela,
mais ce n'est pas aussi robuste que les chaînes de caractères, qui sont essentiellement des chaînes de caractères alphanumériques en C placées entre
guillemets.
Il s'agit de l'un des types de données de base, mais il est considéré comme un tableau et son concept est un
peu différent.
Nous allons nous pencher sur cette question.
Nous allons parler de certaines des opérations que vous pouvez effectuer sur les chaînes de caractères, etc.
Points de repère.
Les pointeurs sont probablement le concept le plus important de ce cours.
Nous allons donc y consacrer beaucoup de temps.
Les pointeurs sont ce concept et vous voyez où vous devez gérer votre propre mémoire.
Il se peut que ce concept ne vous soit pas familier si vous le programmez dans d'autres langues, car cela est généralement
fait pour vous.
Plus précisément, si vous programmez en Java ou en C sharp, vous n'avez pas à vous préoccuper des pointeurs.
En C, vous devez vous préoccuper de la gestion de votre propre mémoire.
Les pointeurs sont donc très importants.
Je vais vous expliquer comment vous pouvez définir et utiliser des pointeurs, comment vous pouvez les utiliser
avec des fonctions et des tableaux, comment vous pouvez faire appel à différents appels de la bibliothèque standard pour créer de la mémoire et comment vous pouvez déréférencer
des pointeurs.
Il s'agit d'un concept important, comme je l'ai dit, et nous allons y consacrer beaucoup de temps.
Je vais vous fournir de nombreux exemples, de nombreux scénarios du monde réel afin que les pointeurs soient
vraiment ancrés dans votre cerveau, car vous ne pouvez pas utiliser le langage de programmation C sans comprendre parfaitement les
pointeurs.
Nous y consacrerons beaucoup de temps.
Le préprocesseur dont nous allons parler est une étape qui précède le compilateur.
Plus précisément, il s'agit de directives que vous devez comprendre, comme define et include.
Nous y reviendrons.
Nous allons passer en revue l'entrée et la sortie, comment vous pouvez lire et écrire des données dans la console.
Nous avons parlé de printf.
Nous allons entrer un peu plus dans les détails en utilisant les formats getchar et scanf, les spécificateurs,
etc.
Nous verrons également comment lire et écrire des données dans un fichier.
Il s'agit d'un autre concept important lorsque vous écrivez du code, c'est une façon de stocker des données.
Il existe de nombreuses opérations sur les fichiers en C, et nous allons en examiner quelques-unes.
Le langage C est un langage de très bas niveau qui permet de faire beaucoup de choses efficacement et rapidement, et l'écriture
et la lecture de fichiers se font à ce bas niveau.
Vous pouvez interagir avec le système d'exploitation de manière très, très agréable.
Il existe une bibliothèque C standard, fournie avec le langage de programmation C, qui contient un grand nombre de fonctions
différentes que vous pouvez utiliser.
Il y a des fonctions de chaînes de caractères, des fonctions de manipulation de chaînes de caractères, des fonctions mathématiques, des fonctions utilitaires.
Nous allons passer en revue toutes ces fonctions de base que vous pouvez utiliser pour écrire du code plus efficacement,
tout comme d'autres bibliothèques et d'autres langages.
Le langage C vous fournira à nouveau quelques bases pour écrire et lire des fichiers en manipulant des chaînes de caractères.
Si vous voulez obtenir le cosinus et la tangente pour des fonctions mathématiques, le langage vous fournit tout cela.
C'est ce que nous allons apprendre.
Ce sont les principaux sujets que nous allons couvrir, les sujets de départ.
Nous n'allons pas encore aborder des sujets avancés, mais nous allons couvrir les bases fondamentales.
Ainsi, à la fin de ce cours, vous devriez être capable d'écrire des programmes C débutants, de comprendre les aspects fondamentaux
du langage C, de savoir comment fournir des données d'entrée et de sortie.
Faire du fichier pour approfondir le concept des pointeurs, etc.
Vous allez également, tout au long de ce cours, vous concentrer sur l'écriture d'un code de haute qualité et efficace.
C'est très, très important.
Encore une fois, il affecte les phases de maintenance du cycle de vie du logiciel.
Ainsi, si vous voulez trouver et corriger vos erreurs, il est beaucoup plus facile de le faire si vous avez un code de haute qualité.
Ainsi, au fil des exemples et de l'apprentissage de ces concepts, nous allons apprendre à le faire de la bonne
manière.
Nous allons apprendre à modulariser les choses pour les regrouper en fonctions.
Nous allons nous assurer que nos différents fichiers ont peu de dépendances, peu de couplage, afin qu'ils ne s'influencent
pas les uns les autres.
Lorsque vous avez beaucoup de dépendances dans votre code, vous pouvez.
Il est beaucoup plus facile de trouver et de corriger les bogues.
Et si vous souhaitez un jour ajouter de nouvelles fonctions ou un nouveau code à un programme, il est beaucoup plus facile de le faire s'il
est modulaire, s'il est organisé en fonction.
Nous allons donc nous concentrer sur ce concept d'écriture d'un code de haute qualité.
Nous ne nous contenterons pas de faire fonctionner les choses, nous le ferons de la bonne manière.
À la fin du cours, vous serez en mesure de trouver et de corriger vos propres erreurs.
La résolution de problèmes est un élément essentiel pour devenir un bon programmeur.
Nous allons nous concentrer sur les techniques de résolution de problèmes et sur la manière de déboguer votre code et de devenir un résolveur
de problèmes efficace.
Il s'agit notamment de comprendre les messages du compilateur.
Il sait comment faire fonctionner un débogueur, comment utiliser la pile d'appels, toutes ces choses agréables.
La résolution de problèmes sera enseignée dans tous les cours.
Vous allez comprendre les aspects fondamentaux du langage de programmation C dont j'ai parlé
précédemment.
Il s'agira d'un travail de base en C.
Enfin, vous allez vous amuser.
Je vais faire de mon mieux pour vous motiver.
Je vais avoir des exemples amusants et passionnants.
Je ne veux pas que vous vous endormiez pendant les cours ou les exercices, je vais donc les rendre vivants
et je vais faire de mon mieux pour vous motiver et vous aider tout au long de ce cours.
J'ai donc hâte d'y être.
Je suis très enthousiaste et j'espère que tout le monde est prêt à apprendre beaucoup de choses sur le langage de programmation C.
Nous vous remercions.