Bases de la programmation en C++ Lavoué Guillaume [email protected] Organisation Vendredi 8h-12h * 16 semaines Cours / TD / TP Participation Contrôle des connaissances : DS promo 50 % DS groupe 25% TP 25% Aujourd’hui Les langages de programmation Le C++, structure d’un programme C++ Les variables TP Bases de la programmation en C++ 2 Les langages de programmation Utilité Donner des instructions à l’ordinateur Développement d’algorithmes Historique Code machine (1 instruction = 1 combinaison de chiffres) Seul véritable langage compris par l’ordinateur Incompréhensible au niveau humain Assembleur (1 instruction = 1 mnémonique) Plus facile à programmer Besoin de traduire en langage machine Comment traduire Compilation (traduire avant l’exécution) Interprétation (traduire pendant l’exécution) Bases de la programmation en C++ 3 Les langages de programmation Besoin de créer des langage plus abstrait Année 56/58, introduction du FORTRAN (FORmulation TRANsposée). 1er langage de haut niveau. Cobol (gestion), Pascal, Basic… Le langage C Né dans les laboratoires Bell en 1972. Langage impératif. Utilisé dans de nombreux domaines Développement de systèmes, de (réécriture d’Unix ). Ingénierie, Base de données, communication, outils bureautiques. Bases de la programmation en C++ logiciels système gestionnaire de 4 Le langage C++ Créé en 1980 Extension du langage C, pour la programmation objet. Caractéristique du langage C++ Normalisé par la norme ANSI/ISO en 1998 Structuré et modulaire Programme séparé en fichier Fichier séparé en fonctions Fonction séparée en blocs Efficace et souple Programmation fine du matériel. Portable (de nombreux environnement/compilateurs disponibles) Bases de la programmation en C++ 5 Structure d’un programme C++ Un programme se présente comme une suite de fichiers Fichier C++ Fichier C++ Code objet Compilateur Fichier C++ (*.cpp) Code objet Code objet (*.obj) Bibliothèque Bibliothèque Editeur de liens Programme Exécutable (*.exe) C++ est un langage compilé Bases de la programmation en C++ 6 Structure d’un programme C++ Chaque fichier se présente comme une suite de fonction. Une fonction est imposée: la fonction main Fonction principale. Point d’entrée du programme. Programme C++ Fichier 1 Fichier n Main fonction fonction fonction fonction fonction Bases de la programmation en C++ 7 Structure d’un fichier source C++ #include <iostream.h> int main () { int annee_creation; int NousSommesEn; int difference; Déclaration de fonctions annee_creation = 1968; NousSommesEn = 2004; difference = NousSommesEn - annee_creation; cout << "Le Departement INFORMATIQUE"; cout << "a ete cree depuis " << annee_creation; cout << "Ce qui fait : " << difference << " ans !"; return 0; } Bases de la programmation en C++ Inclusion de la bibliothèque standard (ANSI) du C++ pour les E/S Déclaration des variables Affectation des variables Algorithme (Relation entrées/sorties) Affichage à l’écran des résultats Instructions 8 Un peu de syntaxe Toute déclaration/instruction (ou presque) se termine par un point-virgule. Instruction ≠ INSTRUCTION Les commentaires: \* Ceci est un commentaire sur plusieurs lignes ... Fin du commentaire*/ //ceci est un commentaire sur une ligne Saisie et affichage des données (communication avec les E/S): Saisir une variable au clavier: cin Afficher une variable ou une phrase à l’écran: cout Bibliothèque iostream Bases de la programmation en C++ cout << “saisir la variable x : ”; cin >> x; cout << endl; cout << “la valeur de x est : ” << x << endl; 9 Les types élémentaires Les entiers relatifs (1,2,-3 etc…) : int (2 octet). (on peut leur ajouter les attribut : short, long, signed, unsigned) Les réels ou flottants (0.12, PI, …) : float (4 octet). Les réels double précison : double (8 octets). (on peut lui ajouter l’attribut : long) Les caractères (‘a’, ‘b’, ‘c’, ‘#’, ‘3’…) : char (1octet) = code ASCII (0<<255) du caractères. (on peut lui ajouter les attributs signed ou unsigned) Le type logique ou booléen (true, false) : bool Bases de la programmation en C++ 10 Les variables Elles possède un type (char, int…), un nom et une valeur. Int a; Déclaration de variable: ou Nom_type nom_objet; Nom_type nom_objet = valeur; float r; Int b=3; float s=0.25; Déclaration locale ou globale: Variables globales : définies hors de toutes fonctions Vues par toutes les fonctions du fichier source Persistante pendant toute la durée de vie du programme Variables locales: Déclarées à l’intérieur d’une fonction Détruites en sortie de fonction Bases de la programmation en C++ 11 Déclaration de variables Exemples bool trouve = false; // un booléen ne peut prendre que les valeurs true et false int min , max; // variables entières (2 octets) Int valeur = 125; // variable entière valant 125 long int adresse; // adresse est un entier long (4 octets) char car = ‘G’; // car est un caractère (entier codé sur 1 octet) unsigned int position; // un entier non signé double PI = 3.1415926535; Bases de la programmation en C++ 12 Exemple #include <iostream.h> const float PI = 3.14159; int main () { float rayon = 5.458; float perimetre; Déclaration de variable globale Déclaration de variables locales // calcul périmètre perimetre = PI * 2* rayon; cout << "perimetre p = " << p << endl; return 0; } Bases de la programmation en C++ 13 Les opérateurs Affectation: = Opérateurs arithmétiques Addition: + Soustraction: Multiplication: * Division: / (division entière dans le cas de int) Modulo: % (reste de la division entière) Opérateurs arithmétiques unaires (un seul opérande) Moins unaire: Incrémentation: ++ Decrémentation: -Opérateurs logiques Négation: ! ET logique: && OU logique: || Opérateurs de relation ( ils rendent 1 si la condition est vrai et 0 sinon) < , > , <= , >= , == , != Bases de la programmation en C++ 14