« Langage C/Introduction au C » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-d'avoir +d’avoir)
m Robot : Remplacement de texte automatisé (-qu'il +qu’il)
Ligne 12 :
Ce tutoriel a été écrit dans un seul but : vous enseigner le langage C de la manière la plus complète, la plus rigoureuse et la plus instructive possible. Pour ce faire, le tutoriel combinera beaucoup de théorie, de connaissances importantes, de détails et de recherches en profondeur avec de la pratique par des exemples concrets, des exercices pratiques et des TP. Cette approche va réclamer de votre part des efforts puisque le tutoriel semblera parfois complexe, néanmoins il est important de passer tout le temps nécessaire à l'assimilation de chaque connaissance abordée. Pour s'assurer d’avoir bien assimilé une notion, il est fortement conseillé de se façonner ses propres programmes tout au long du cours, et ce en plus des exercices proposés au sein de celui-ci, c'est en vous exerçant que vous prendrez conscience de vos faiblesses, et que vous pourrez progresser.
 
Nous avons choisi cette méthode d’apprentissage, car c’est celle que nous jugeons la plus payante. Elle s’oppose à d'autres méthodes qui privilégient un cours beaucoup plus théorique, qui permettent certes d’acquérir des connaissances rapidement, mais qui s’avère bien souvent peu payante sur le long terme. Beaucoup de programmeurs débutants se sont retrouvés perdus lorsqu'ilslorsqu’ils se sont lancés dans la création d'un projet pour la première fois à la sortie d’un cours purement théorique, n’ayant pas acquis de bonnes pratiques et de la rigueur. Ce cours illustrera donc chaque notion abordée d'exemples et d'exercices, afin de vous enseigner non seulement un langage de programmation, mais aussi de bonnes méthodes de travail.
 
En résumé, ce tutoriel se composera d'un juste mélange entre théorie et pratique au travers de multiples exemples et exercices d'application qui nécessiterons une investissement personnel et des efforts pour fortifier chaque connaissance acquise.
Ligne 561 :
Comme précisé plus haut, le C est un langage qui possède des règles. Ces règles ont été définies par des informaticiens professionnels et sont toutes regroupées dans ce que l’on appelle '''la norme''' du langage. Chaque fois que l’on a un doute ou que l’on se pose une question, le premier réflexe est de regarder dans la norme ce qui est dit. Bien entendu, la norme n’est pas parfaite, elle ne répond pas à toutes les questions que l'on pourrait se poser et ne précise pas tous les détails dont on pourrait avoir besoin. Néanmoins, elle reste '''la référence''' de tout programmeur. Cette norme sert aussi de référence pour les compilateurs. En effet, tous les compilateurs respectent cette norme (en règle générale), afin de parer à différentes interprétations d’un même code.
 
Cette norme est donc comparable aux règles d’orthographe, de grammaire et de conjugaison de la langue française. Si l'on ne suit plus ces règles et que l'on commence à nous exprimer à notre guise, il devient rapidement impossible de nous comprendre. Le résultat sera le même si chacun commence à interpréter différemment tout ce qu'ilqu’il entend. La norme sert donc à officialiser tout un tas de règles pour que chaque personne souhaitant communiquer (les programmeurs) puisse être parfaitement compris par chaque interprète (les compilateurs).
 
Il existe plusieurs versions de la norme : le C89, le C99 et le C11. Dans ce cours, nous avons décidé de nous servir de la norme C89. En effet, même si c’est la plus ancienne et qu’elle semble restrictive à certains, elle permet néanmoins de développer avec n’importe quel compilateur sans problèmes, contrairement aux normes C99 et C11 que tous les compilateurs ne connaissent pas. De plus, il est très facile de passer aux normes plus récentes ensuite. Voici [http://flash-gordon.me.uk/ansi.c.txt le lien] vers le brouillon de cette norme, ce n’est certes pas la version définitive et officielle, mais celle-ci est très chère et le brouillon est largement suffisant pour notre niveau et entièrement gratuit. Bien entendu, cette norme est en anglais.
Ligne 571 :
Un algorithme peut se définir comme étant une suite finie et non-ambiguë d'opérations permettant de résoudre un problème. En clair, il s'agit d'une succession de calculs qui prennent plusieurs paramètres et renvoient un résultat. Les algorithmes ne sont pas limités à l'informatique, ils existaient en effet bien avant son apparition.
 
L'intérêt principal des algorithmes est qu'ilsqu’ils sont très utiles lorsqu'ilslorsqu’ils sont en relation avec des ordinateurs. En effet, ces derniers peuvent exécuter plusieurs millions d'instructions à la seconde, et donc effectuer des calculs très complexes extrêmement rapidement. Illustrons : imaginez que vous deviez trier une liste de 10 nombres dans l'ordre croissant. C'est assez facile et faisable en quelques secondes. Et pour plusieurs milliards de nombres ? C'est parfaitement impossible pour un humain, alors qu'un ordinateur s'en occupera sans aucun problème.
 
Ce qu'ilqu’il faut retenir, c'est qu'un algorithme est une suite d'opérations destinée à résoudre un problème donné. Nous aurons l'occasion d'utiliser quelques algorithmes dans ce cours, mais nous ne nous concentrerons pas dessus. Si vous voulez en savoir plus, lisez le tutoriel sur [http://www.siteduzero.com/tutoriel-3-51781-algorithmique-pour-l-apprenti-programmeur.html l'algorithmique pour l'apprenti programmeur].
 
=== Le pseudo-code ===