 Langage C 2015/2016 Langage CChapitre 0. Généralités 2015/2016 Langage C - F

 Langage C 2015/2016 Langage CChapitre 0. Généralités 2015/2016 Langage C - FSDM 2 Introduction  Comment et ou les ordinateurs sont utilisés? Tous les ordinateurs ont des caractéristiques communes : pour réaliser une tâche utile, trois choses doivent cohabiter (travaillent ensemble) : 1) Matériel (Hardware) : composantes physiques internes ou externes d’un ordinateur 2) Système d’exploitation (Operating System) : ensemble de programmes qui pilotent/gèrent le hardware d’un ordinateur (Windows XP, Linux) 3) Applications logicielles (Software) : programmes chargées dans l’ordinateur pour réaliser une fonction précise (Word) 3 Langage C - FSDM Programme vs Applications logicielles  Programme :  ensemble d'instructions permettant à l'ordinateur de réaliser une tâche définie.  Logiciel :  programmes + documentation + licence + support (CD...). Cet ensemble peut être commercialisé, distribué à des utilisateurs.  Application:  logiciel, ou ensemble de logiciels qui coopèrent par exemple, un site web, application mobile (serveur HTTP+CGI(Common Gateway Interface)+base de données...))  Progiciel :  logiciel propriétaire destiné à un usage spécifique et adaptable à chaque utilisateur (typiquement: SAP, Saqqara, Commerce server...). 4 Langage C - FSDM Applications logicielles  Application logicielle une application logicielle = Application = Programme (dans ce cours) Ce sont des programmes qui sont lancés par l’utilisateur. Par exemple : Editeur de texte : word, edit, … (logiciel) Navigateur : Chrome, Interet Explorer, Firefox,… (logiciel) Messagerie instantanée (tchat): WhatsApp, facebook messenger, skype,… (application) Compilateur, (programme) Interface graphique, (programme) 5 Langage C - FSDM Applications logicielles  Programme A chaque tâche, que notre PC réalise, correspond un programme. Mais de quoi est constitué un programme? 6 Langage C - FSDM Applications logicielles  Programme Un programme est constitué d’une suite d’instructions compréhensible par l’ordinateur (en langage machine). Une instruction spécifie : Les opérations à exécuter La façon dont elles s’enchaînent 7 Langage C - FSDM Applications logicielles  Données d’un programme et résultats Un programme peut nécessité des données. Il peut aussi retourner un résultat. Exemple: on dispose d’un programme qui calcule la moyenne des notes. Celui-ci a besoin qu’on lui fournisse les notes (données) Pour qu’il nous retourne la moyenne (résultat) Programme Données Résultat Mémoire 8 Langage C - FSDM Applications logicielles  Exécution simplifiée d’un programme UC = Unité centrale ou CPU MC = Mémoire centrale 1) Prélèvement d’une instruction 2) Exécution de l’instruction avec possibilité d’échange avec la MC 3) Exécution d’une instruction d’échange avec un périphérique Programme + Infos temporaires MC UC Périphérique 1 2 3 9 Langage C - FSDM Applications logicielles  Exécution simplifiée d’un programme Pour calculer 12+5, il faut une suite d'instructions  Transférer: le nombre 12 saisi au clavier dans la mémoire le nombre 5 saisi au clavier dans la mémoire  le nombre 12 de la mémoire vers un registre A le nombre 5 de la mémoire vers un registre B  Demander à l'unité de calcul (UAL unité arithmétique et logique) de faire l'addition  Transférer: le contenu du résultat dans la mémoire le résultat (17) se trouvant en mémoire vers l'écran de la console (pour l'affichage) 10 Langage C - FSDM Programmation  Programmation?  L’ordinateur ne comprend que le binaire (0 eet1), est-ce pour autant qu’on doive écrire des programmes en binaire ?  Il existe des langages de programmation dits « évolués » (proches du langage courant)  Pour chaque langage, il existe un programme « qui le traduit » en binaire (ou langage machine) 11 Langage C - FSDM Programmation  Traduction des programmes Il existe essentiellement deux modes de traduction • Compilation: la traduction se fait une fois pour toute • Interprétation: a chaque fois qu’on veut exécuter le programme, l’interprète traduit une instruction à la fois. Une fois que celle-ci est exécutée, il passe à l’instruction suivante. Programme source Traducteur Programme exécutable 12 Langage C - FSDM Compilation et Interprétation Ce que nous écrirons … Il existe deux techniques de traduction Ce que l’on utilisera à chaque fois que l’on voudra exécuter le code source : traduction/exécution ligne par ligne. Affichage ligne par ligne Langage C - FSDM 13 traduit la totalité du texte source en une fois Programme prêt à être exécuté Compilation et Interprétation Langage C - FSDM 14 Programmation  Programmation Programmation = A priori, écriture de programmes dans un langage de programmation (C, Java, Pascal, Visual Basic, Fortran, Python, Perl, …) Or il y a plusieurs langages, Existe il plusieurs sortes de programmation? 15 Langage C - FSDM Les types de programmation Génération 1 : Programmation Spaghettis : o Assembleur, Fortran I, Basic • o Logique de saut « goto ». Absence totale d'entités autonomes et modifiables indépendamment du reste du programme. Code et données étroitement imbriqués Génération 2 : Programmation Structurée : o Pascal, C, Algol, Perl, Python o Expression séparée des données et des traitements. o Modularité : • Données typées. • Possibilité de création de types complexes. • Structures de contrôle remplaçant les sauts. • Notion de sous-programmes et compilation séparée (entités autonomes) Langage C - FSDM 16 Les types de programmation Génération 3 : Programmation par Objets : o Simula, SmallTalk, Eiffel, C++, Pascal objet, Java, C# o Modularité qui regroupe les données et les traitements dans une même entité appelée objet. o Les objets peuvent être vus comme des tentatives de simuler une situation réelle (objets « personne », « voiture »). Les objets réels ne sont ni des traitements purs, ni des données pures mais une combinaison des deux Langage C - FSDM 17 Plusieurs autres types programmation orientée objets programmation logique programmation fonctionnelle programmation impérative programmation par scripting/dynamique programmation déclarative programmation orientée aspect Programmation concurrente et plus… Langage C - FSDM 18 Langage C - FSDM 19 Généalogie des langages de programmation Langage C - FSDM 20 Classement général selon l’IEEE, la plus grande association mondiale de professionnels techniques (400 000 membres) en informatique, électronique, et télécommunication 2014 2015 Classement des langages de programmation Langage C - FSDM 21 Top 10 des langages pour le développement de sites et applications web Classement des langages de programmation Langage C - FSDM 22 pour le développement d’applications pour les appareils mobiles Classement des langages de programmation Langage C - FSDM 23 pour le développement d’applications d’entreprise Classement des langages de programmation Langage C - FSDM 24 pour le développement d’applications embarquées Classement des langages de programmation Langage CChapitre 1. Introduction au C 2015/2016 Langage C - FSDM 25 Introduction au C Langage C Inventé aux Bell Labs / ATT en 1970 Conçu pour être le langage de programmation d’Unix, premier système d’exploitation écrit dans un langage autre qu’un langage machine Diffusé grâce à Unix Popularisé par sa concision, son expressivité et son efficacité Disponible actuellement sur quasiment toutes les plateformes Langage C - FSDM 26 Introduction au C Langage C Un langage impératif : le programmeur spécifie explicitement l’enchaînement des instructions devant être exécutés : Fais ceci, puis cela Fais ceci, si cela est vrai Fais ceci, tant de fois ou tant que cela est vrai Un langage de haut niveau Programmation structurée Organisation des données (regroupement structurel) Organisation des traitements (fonctions) Possibilité de programmer « façon objet » Un langage compilé : compilateur comme cc ou gcc Langage C - FSDM 27 Structure d’un programme C Programme C Un programme est la spécification d’un processus de traitement d’informations Un programme impératif spécifie précisément les traitements devant être réalisés sous la forme de suites d’instructions élémentaires Ces instructions opèrent sur les valeurs numériques contenues dans des variables nommées Langage C - FSDM 28 Structure d’un programme C Mon premier programme (hello.c) : Hello World Les deux programmes sont (presque) identiques, ils affichent la même chose, le message Hello World, mais préférer la première solution (plus propre) #include <stdio.h> #include <stdlib.h> int main() { printf("Hello World") ; return EXIT_SUCCESS; } #include <stdio.h> main() { printf("Hello World") ; return; } Langage C - FSDM 29 Structure d’un programme C Mon premier programme : Hello World La machine ne comprend que le langage machine, donc mon programme hello.c …. Donc il faut traduire mon programme hello.c en langage machine à l’aide d’un traducteur du langage C vers le langage machine. Un programme appelé compilateur (habituellement nommé cc ou gcc) vérifie la syntaxe de mon programme (on dit d’une façon générale, code source) et le traduit en code objet, compris par le processeur. Le programme en code objet ainsi obtenu peut être exécuté sur la machine (après édition de liens) Langage C - FSDM 30 Rappel  Mais avant de programmer !!!!! Les bonnes pratiques Les étapes de réalisation d’un programme Spécification Analyse Traduction en langage de programmation Compilation Tests et modifications Enoncé du problème Cahier des charges Algorithme Programme Exécutable Version finale de l’exécutable Langage C - FSDM 31 Structure d’un programme C Mon premier programme : Hello World Schéma simplifié de la compilation gcc Fichier exécutable #include <stdio.h> #include <stdlib.h> int main() { printf(" Hello World"); return EXIT_SUCCESS; } .c a.out Compilateur Fichier code source en langage C Editeur de texte ou environnement de développement Langage C - FSDM 32 uploads/Geographie/ ahmedazough-langagec 1 .pdf

  • 14
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager