Troisième séance Langage C </> 2 Plan du cours I. Historique du Langage C II. S
Troisième séance Langage C </> 2 Plan du cours I. Historique du Langage C II. Structure du langage C III.Les Préprocesseurs IV.La fonction principale V. La fonction printf et séquence d’échappement VI.Les commentaires VII.Tableau récapitulatifs des séquences vendredi 4 décembre 2020 Designed by PoweredTemplate.com 3 vendredi 4 décembre 2020 Historique du Langage C Le langage C a été inventé au cours de l'année 1972 dans les Laboratoires Bell. Il était développé en même temps que UNIX par Dennis Ritchie et Ken Thompson. Le C a été conçu en 1972 par Dennis Richie et Ken Thompson, chercheurs aux Bell Labs, afin de développer un système d’exploitation UNIX. En 1978, Brian Kernighan et Dennis Richie publient la définition classique du C dans le livre The C Programming language . C est un langage de programmation impératif et généraliste. Il est qualifié de langage de bas niveau dans le sens où chaque instruction du langage est conçue pour être compilée en un nombre d'instructions machine assez prévisible en termes d'occupation mémoire et de charge de calcul. En outre, il propose un éventail de types entiers et flottants conçus pour pouvoir correspondre directement aux types de donnée supportés par le processeur. Enfin, il fait un usage intensif des calculs d'adresse mémoire avec la notion de pointeur Designed by PoweredTemplate.com Structure du langage C La transformation d'un texte écrit en langage C en un programme exécutable par l'ordinateur se fait en deux étapes : la compilation et l'édition de liens. La compilation est la traduction des fonctions écrites en C en des procédures équivalentes écrites dans un langage dont la machine peut exécuter les instructions. Le compilateur lit toujours un fichier, appelé fichier source, et produit un fichier, dit fichier objet. Chaque fichier objet est incomplet, insuffisant pour être exécuté, car il contient des appels de fonctions ou des références à des variables qui ne sont pas définies dans le même fichier. Par exemple, le premier programme que vous écrirez contiendra déjà la fonction printf que vous n'aurez certainement pas écrite vous-même. L'édition de liens est l'opération par laquelle plusieurs fichiers objets sont mis ensemble pour se compléter mutuellement . vendredi 4 décembre 2020 Designed by PoweredTemplate.com 4 Structure du langage C un fichier apporte des définitions de fonctions et de variables auxquelles un autre fichier fait référence et réciproquement. L'éditeur de liens (ou linker ) prend en entrée plusieurs fichiers objets et bibliothèques (une variété particulière de fichiers objets) et produit un unique fichier exécutable. L'éditeur de liens est largement indépendant du langage de programmation utilisé pour écrire les fichiers sources, qui peuvent même avoir été écrits dans des langages différents. Exemple de programme en C : #include <stdio.h> main() { printf("Hello world"); } vendredi 4 décembre 2020 5 Structure du langage C • #include <stdio.h> : Directive du préprocesseur • main() : La fonction principale • Printf : fonction d’affichage vendredi 4 décembre 2020 Designed by PoweredTemplate.com 6 Les Préprocesseurs Le préprocesseur est un langage de macro qui est analysé, comme son nom l'indique, avant la compilation. En fait, c'est un langage complètement indépendant, il est même théoriquement possible de l'utiliser par dessus un autre langage que le C. Cette indépendance fait que le préprocesseur ignore totalement la structure de votre programme, les directives seront toujours évaluées de haut en bas. Ces directives commencent toutes par le symbole dièse (#), suivi d'un nombre quelconque de blancs (espace ou tabulation), suivi du nom de la directive en minuscule. Les directives doivent être déclarées sur une ligne dédiée. Exemple de directives : #include #define #ifdef … vendredi 4 décembre 2020 Designed by PoweredTemplate.com 7 La fonction principale La fonction main est la fonction principale des programmes en C: Elle se trouve obligatoirement dans tous les programmes. L'exécution d'un programme entraîne automatiquement l'appel de la fonction main. La fonction main sert de point de départ à l'exécution du programme. Elle contrôle généralement l'exécution du programme en dirigeant les appels à d'autres fonctions du programme. L'exécution d'un programme s'arrête habituellement à la fin de main bien qu'elle puisse se terminer à d'autres points du programme pour diverses raisons Les fonctions du programme source effectuent une ou plusieurs tâches spécifiques. La fonction main peut appeler ces fonctions afin qu’elles effectuent leurs tâches respectives. Lorsque main appelle une autre fonction, elle passe le contrôle d'exécution à cette fonction afin que l'exécution commence à la première instruction de cette fonction. Une fonction retourne le contrôle à main lorsqu’une return instruction est exécutée ou lorsque la fin de la fonction est atteinte. vendredi 4 décembre 2020 Designed by PoweredTemplate.com 8 La fonction printf La fonction printf est utilisée pour transférer du texte, des valeurs de variables ou des résultats d'expressions vers le fichier de sortie standard stdout (par défaut l'écran). Une séquence d'échappement est une combinaison de caractères qui a une signification autre que les caractères littéraux qu'elle contient. il est marqué par un ou plusieurs caractères précédents (et éventuellement de fin). vendredi 4 décembre 2020 Designed by PoweredTemplate.com 9 Les commentaires • Un commentaire est un texte que le compilateur ignore mais qui est utile pour les programmeurs. Les commentaires sont normalement utilisés pour annoter le code à des fins de référence ultérieure. Le compilateur les traite comme des espaces blancs. Vous pouvez utiliser des commentaires dans les tests pour rendre certaines lignes de code inactives. vendredi 4 décembre 2020 Designed by PoweredTemplate.com 10 Tableau récapitulatifs des séquences vendredi 4 décembre 2020 Designed by PoweredTemplate.com 11 Séquence d’échappement Représente \a Bip Sonnore \n Nouvelle Ligne \r Retour chariot \t Tabulation Horizontale \ ‘ Guillemet simple \ ‘’ Guillemets double \\ Anti slash \ ? Point d’interrogation littéral uploads/Ingenierie_Lourd/ coding-club-3eme-seance.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jIo3o1CG0EO7sr70E88Jk2J9Djcq9TJ2mtQGgB4RVNJfHySXCQyJ4Mq19F81zFUvCx4h2yKnYMar0Npnpsdfx4Xu.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/kfvuJBOEqLvsdRNSLvo0EcCdIpfOc6nQDfjPusBSvrjE4tCkAS6WcEww3kZHZqbK37nrhcO8kZg3HPtoU2EYUr2i.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/8CDJ2QkXvwcsmOQY7LeTcoJNUwMi1h8LMCljoRYk6DK6gi5cXhn3SutB9cilMkDRZC2tJYxKh1bAaMoYCcVTQNY9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/DsfD6KVutljn12iLMgRD5nHkY7TcqePYsk4YCGjSYvvd3zj7yODoL63FlijqUjAkwRoeasATMF4a9ItAkoLDkRda.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/EFRSwiXdvavzPtQu5DcDb7wfxYqdmPnSyun59KpfVPE8AVtblIlZILER7YpJNIuRIFSmTdiTb1dzo7ZIrQu4UZig.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/hyPzQAtnAfZZT6ea9AODaUJ39maqykySqbC5q6uthhp3q0m9MwEEBjYvEYtQXPMuKbrKm0gUtDIh2sgN4z6eFuOz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/NyqWlW4nzfG0QhNrk60WOqAfK6ECmNApkRlPNXyE9h06QYa9crpgHij1bVbXbiXSuggk0ezWXsB7UsmsreHA4Y1J.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/YYTQ6BUABQoR9umGMu7zisuhiL1Bte1BvjC3KG4UVhn0DQxhGDNsmBVMy0l3gPZ3DpivXbfRIUWhH867y4r8lMvO.png)