0% ont trouvé ce document utile (0 vote)
24 vues7 pages

Intro Au C

Ce document introduit la programmation, en particulier le langage C, en expliquant ce qu'est un programme et comment il fonctionne. Il aborde l'historique du langage C, ses avantages tels que sa popularité, son minimalisme, ses performances et sa portabilité, ainsi que ses normes. Enfin, il souligne l'importance de choisir un langage de programmation adapté et prépare le lecteur à explorer les outils nécessaires pour programmer en C.

Transféré par

KITAMBALA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues7 pages

Intro Au C

Ce document introduit la programmation, en particulier le langage C, en expliquant ce qu'est un programme et comment il fonctionne. Il aborde l'historique du langage C, ses avantages tels que sa popularité, son minimalisme, ses performances et sa portabilité, ainsi que ses normes. Enfin, il souligne l'importance de choisir un langage de programmation adapté et prépare le lecteur à explorer les outils nécessaires pour programmer en C.

Transféré par

KITAMBALA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 7

II.1.

Introductionàlaprogrammation Introduction
La programmation est un sujet qui fascine énormément. Si vous lisez ce
cours, c’est que vous avez décidé de franchir le pas et de découvrir de
quoi il s’agit. Cependant, avant de commencer à apprendre quoi que ce
soit sur le C et la programmation, il est d’abord nécessaire de découvrir en
quoi la programmation consiste. En effet, pour le moment, vous ne savez
pas réellement ce qu’est la programmation, ce que signifie «programmer»
ou encore ce qui caractérise le langage C. Ce chapitre va donc consister
en une introduction au monde de la programmation, et plus
particulièrement au langage C.
II.1.1. La programmation, qu’est-ce que c’est ?
La programmation est une branche de l’informatique qui sert à créer des
programmes. Tout ce que vous possédez sur votre ordinateur est un
programme : votre navigateur Internet (Internet Explorer, Firefox, Opera,
etc.), votre système d’exploitation (Windows, GNU/Linux, Mac OS X, etc.)
qui est un regroupement de plusieurs programmes appelés logiciels,
votre lecteur MP3, votre logiciel de discussion instantanée, vos jeux
vidéos, etc.
II.1.1.1. Les programmes expliqués en long, en large et en travers
Un programme est une séquence d’instructions, d’ordres, donnés à
l’ordinateur afin qu’il exécute des actions. Ces instructions sont
généralement assez basiques. On trouve ainsi des instructions d’addition,
de multiplication, ou d’autres opérations mathématiques de base, qui font
que notre ordinateur est une vraie machine à calculer. D’autres
instructions plus complexes peuvent exister, comme des opérations
permettant de comparer des valeurs, traiter des caractères, etc.
Créer un programme, c’est tout simplement utiliser une suite
d’instructions de base qui permettra de faire ce que l’on veut. Tous les
programmes sont créés ainsi : votre lecteur MP3 donne des instructions à
l’ordinateur pour écouter de la musique, le chat donne des instructions
pour discuter avec d’autres gens sur le réseau, le système d’exploitation
donne des instructions pour dire à l’ordinateur comment utiliser le
matériel, etc.
II. Les bases du langage C
Notre ordinateur contient un composant électronique particulier, spécialement conçu pour
exécuter ces instructions : le processeur. Ce qu’il faut retenir, c’est que notre ordinateur
contient un circuit, le processeur, qui permet d’effectuer de petits traitements de base qu’on
appelle des instructions et qui sont la base de tout ce qu’on trouve sur un ordinateur.
Les instructions sont stockées dans notre ordinateur sous la forme de chiffres binaires (appelés
bits en anglais), autrement dit sous forme de zéros ou de uns. Ainsi, nos instructions ne sont
rien d’autre que des suites de zéros et de uns conservées dans notre ordinateur et que notre
processeur va interpréter comme étant des ordres à exécuter. Ces suites de zéros et de uns sont
difficilement compréhensibles pour nous, humains, et parler à l’ordinateur avec des zéros et
des uns est très fastidieux et très long. Autant vous dire que créer des programmes de cette
façon revient à se tirer une balle dans le pied.
Pour vous donner un exemple, imaginez que vous deviez communiquer avec un étranger alors
que vous ne connaissez pas sa langue. Communiquer avec un ordinateur reviendrait à devoir
lui donner une suite de zéros et de uns, ce dernier étant incapable de comprendre autre chose.
Ce langage s’appelle le langage machine.
Une question doit certainement vous venir à l’esprit : comment communiquer avec notre
processeur sans avoir à apprendre sa langue ?
L’idéal serait de parler à notre processeur en français, en anglais, etc., mais disons-le
clairement : notre technologie n’est pas suffisamment évoluée et nous avons dû trouver autre
chose. La solution retenue a été de créer des langages de programmation plus évolués que le
langage machine, plus faciles à apprendre et de fournir le traducteur qui va avec. Il s’agit de
langages assez simplifiés, souvent proches des langages naturels et dans lesquels on peut
écrire nos programmes beaucoup plus simplement qu’en utilisant le langage machine. Grâce à
eux, il est possible d’écrire nos programmes sous forme de texte, sans avoir à se débrouiller
avec des suites de zéros et de uns totalement incompréhensibles. Il existe de nombreux
langages de programmation et l’un d’entre eux est le C.
Reste que notre processeur ne comprend pas ces langages évolués et n’en connaît qu’un seul:
le sien. Aussi, pour utiliser un langage de programmation, il faut disposer d’un traducteur qui
fera le lien entre celui-ci et le langage machine du processeur. Ainsi, il ne vous est plus
nécessaire de connaître la langue de votre processeur. En informatique, ce traducteur est
appelé un compilateur.
Pour illustrer notre propos, voici un code écrit en C (que nous apprendrons à connaître).
int main(void)
{return 0;
}
Et le même en langage machine (plus précisément pour un processeur de la famille x86–64).
01010101 01001000 10001001 11100101 01001000 11000111
11000000 00000000 00000000 00000000 00000000 11001001
11000011
II.1.2. Le langage C
Malgré tous ces langages de programmation disponibles nous allons, dans ce tutoriel, nous
concentrer sur un seul d’entre eux : le C. Avant de parler des caractéristiques de ce langage et
des choix qui nous amènent à l’étudier dans ce cours, faisons un peu d’histoire.
II.1.2.1. L’histoire du C
Le langage C est né au début des années 1970 dans les laboratoires de la société AT&T aux
États-Unis. Son concepteur, Dennis Mac Alistair Ritchie, souhaitait améliorer un langage
existant, le B, afin de lui adjoindre des nouveautés. En 1973, le C était pratiquement au point
et il commença à être distribué l’année suivante. Son succès fut tel auprès des informaticiens
qu’en 1989, l’ANSI, puis en 1990, l’ISO, décidèrent de le normaliser, c’est-à-dire d’établir
des règles internationales et officielles pour ce langage. À l’heure actuelle, il existe quatre
normes : la norme ANSI C89 ou ISO C90, la norme ISO C99, la norme ISO C11 et la norme
ISO C18.
Si vous voulez en savoir plus sur l’histoire du C, consultez ce lien :
https://c.developpez.com/cours/historique-langage-c
II.1.2.2. Pourquoi apprendre le C ?
C’est une très bonne question.Après tout, étant donné qu’il existe énormément de langages
différents, il est légitime de se demander pourquoi choisir le C en particulier ? Il y a plusieurs
raisons à cela.
— Sa popularité : le C fait partie des langages de programmation les plus utilisés. Dès
lors, une importante communauté s’est construite autour de son usage, ce qui fait que vous
trouverez en général toujours une personne pour vous aider ainsi que de nombreux cours,
articles et billets à son sujet. Une autre conséquence de cette popularité est que de nombreux
programmes et bibliothèques ont été écrits dans ce langage et constituent dès lors une
abondante manne de codes dans laquelle vous pouvez puiser.
— Son minimalisme : le C a été construit de sorte d’être un langage simple et minimaliste,
notamment dans le but de faciliter le développement de compilateurs (encore aujourd’hui, lors
de l’apparition de nouvelles architectures de processeurs, le langage C est souvent le premier
langage utilisable après l’Assembleur). Ce minimalisme se traduit par un nombre réduit de
concepts et/ou d’abstractions permettant également de faire le tour du langage relativement
rapidement.
— Ses performances : le minimalisme du C permet aux compilateurs de produire en général
des exécutables performants ayant une faible empreinte mémoire (ce qui est particulièrement
appréciable quand la vitesse d’exécution est cruciale et/ou la quantité de mémoire fort
limitée).
— Sa portabilité : de manière générale, un programme développé en C peut fonctionner sur
un grand nombre de machines différentes sans que le code ne doive être modifié, la seule
condition étant de disposer d’un compilateur pour chaque type de machine visé. Or, le
développement de compilateurs C étant relativement simple, il en existe un grand nombre
pour une large quantité d’architectures, ce qui fait du C un langage portable (d’une machine à
l’autre).
Ce ne sont que quelques raisons, mais elles sont à notre goût suffisantes pour justifier
l’apprentissage de ce langage. Bien entendu, le C comporte aussi sa part de défauts. On peut
citer la tolérance aux comportements dangereux qui fait que le C demande de la rigueur pour
ne pas tomber dans certains « pièges », un nombre plus restreint de concepts (c’est parfois un
désavantage, car on est alors obligé de recoder certains mécanismes qui existent nativement
dans d’autres langages), etc. D’ailleurs, si votre but est de développer rapidement des
programmes amusants, sachez que le C n’est pas adapté pour cela et que nous vous
conseillons, dans ce cas, de vous tourner vers d’autres langages, comme le Python ou le Ruby.
Le C possède aussi une caractéristique qui est à la fois un avantage et un défaut : il s’agit d’un
langage dit de « bas niveau ». Cela signifie qu’il permet de programmer en étant « proche de
sa machine », c’est-à-dire sans trop vous cacher son fonctionnement interne. Cette propriété
est à double tranchant : d’un côté elle rend l’apprentissage plus difficile et augmente le risque
d’erreurs ou de comportements dangereux, mais de l’autre elle vous laisse une grande liberté
d’action et vous permet d’en apprendre plus sur le fonctionnement de votre machine. Cette
notion de « bas niveau » est d’ailleurs à opposer aux langages dit de « haut niveau » qui
permettent de programmer en faisant abstraction d’un certain nombre de choses. Le
développement est rendu plus facile et plus rapide, mais en contrepartie, beaucoup de
mécanismes internes sont cachés et ne sont pas accessibles au programmeur. Ces notions de
haut et de bas niveau sont néanmoins à nuancer, car elles dépendent du langage utilisé et du
point de vue du programmeur (par exemple, par rapport au langage machine, le C est un
langage de haut niveau).
Une petite note pour terminer : peut-être avez-vous entendu parler du C++? Il s’agit d’un
langage de programmation qui a été inventé dans les années 1980 par Bjarne Stroustrup, un
collègue de Dennis Ritchie, qui souhaitait rajouter des éléments au C. Bien qu’il fût très
proche du C lors de sa création, le C++ est aujourd’hui un langage très différent du C et n’a
pour ainsi dire plus de rapport avec lui (si ce n’est une certaine proximité au niveau d’une
partie de sa syntaxe). Ceci est encore plus vrai en ce qui concerne la manière de programmer
et de raisonner qui sont radicalement différentes.
Ne croyez toutefois pas, comme peut le laisser penser leur nom ou leur date de création, qu’il
y a un langage meilleur que l’autre, ils sont simplement différents. Si d’ailleurs votre but est
d’apprendre le C++, nous vous encourageons à le faire. En effet, contrairement à ce qui est
souvent dit ou lu, il n’y a pas besoin de connaitre le C pour apprendre le C++. Si tel est votre
souhait, sachez qu’il existe un cours C++ sur ce site.
II.1.2.3. La norme
Comme précisé plus haut, le C est un langage qui a été normalisé à trois reprises. Ces normes
servent de référence à tous les programmeurs et les aident chaque fois qu’ils ont un doute ou
une question en rapport avec le langage. Bien entendu, elles ne sont pas parfaites et ne
répondent pas à toutes les questions, mais elles restent la référence pour tout programmeur.
Ces normes sont également indispensables pour les compilateurs. En effet, le respect de ces
normes par les différents compilateurs permet qu’il n’y ait pas de différences d’interprétation
d’un même code. Finalement, ces normes sont l’équivalent de nos règles d’orthographe, de
grammaire et de conjugaison. Imaginez si chacun écrivait ou conjuguait à sa guise, ce serait
un sacré bazar...
Dans ce cours, nous avons décidé de nous reposer sur la norme C11. Il ne s’agit pas de la
dernière en date, toutefois la norme C18 n’apporte dans les faits rien de nouveaux et vise
uniquement à corriger ou préciser certains points de la norme C11. Aussi, ce choix n’aura
aucun impact sur votre apprentissage du C.
II.1.3. Notre cible
Avant de commencer à programmer, il nous faut aussi définir ce que nous allons programmer,
autrement dit le type de programme que nous allons réaliser. Il existe en effet deux grands
types de programmes : les programmes graphiques et les programmes en console.
Les programmes graphiques sont les plus courants et les plus connus puisqu’il n’y a
pratiquement qu’eux sous Windows ou Mac OS X par exemple. Vous en connaissez sans
doute énormément tel que les lecteurs de musique, les navigateurs Internet, les logiciels de
discussions instantanées, les suites bureautiques, les jeux vidéos, etc. Ce sont tous des
programmes dit « graphiques » car disposant d’une interface graphique (ou GUI).
Cependant, écrire ce genre de programmes demande beaucoup de connaissances, ce qui nous
manque justement pour l’instant. Aussi, nous allons devoir nous rabattre sur le deuxième type
de programme : les programmes en console.
Les programmes console sont apparus en même temps que l’écran. Ils étaient très utilisés dans
les années 1970/1980 (certains d’entre vous se souviennent peut-être de MS-DOS), mais ont
fini par être remplacés par une interface graphique avec la sortie de Mac OS et de Windows.
Cependant, ils existent toujours et redeviennent quelque peu populaires chez les personnes
utilisant GNU/Linux ou *BSD.
Voici un exemple de programme en console (il s’agit de GNU Chess , un jeu d’échecs
performant entièrement en ligne de commande).

Conclusion
Comme vous avez pu le constater, la programmation est un monde vaste, très vaste, et assez
complexe. Comme il existe une multitude de langages de programmation, il faut bien choisir
l’un d’entre eux pour commencer. Dans notre cas, il s’agit du C. Ce langage, et retenez-le
bien, est à la fois puissant et complexe. Rappelez-vous bien qu’il vous faudra faire des efforts
pour l’apprendre correctement.
Si vous vous sentez prêts, alors rendez-vous dans le chapitre suivant, qui vous montrera les
outils utilisés par un programmeur C.

Vous aimerez peut-être aussi