Vous êtes sur la page 1sur 6

Université de Bejaia Support de cour programmation C++

Faculté de Technologie GAGAOUA M


Département Génie électrique/ATE 2019/2020
3ieme année Automatique

Exemple d’un programme C++ : « premierexemple.ccp »


Chapitre 1 : Introduction au langage C++ #include <iostream>
Programme : est un ensemble d’instructions structurées rédigées using namespace std;
selon un langage de programmation.
int main()
Un langage de programmation : c’est un langage entre le
programmeur et Le processeur : traduit en assembleur puis en code { cout << "Hello world!" << endl;
machine. return 0;

Du problème au programme : }
 Besoins exprimés (cahier des charges)
La compilation :
 Traduction dans un langage "universel"= algorithmique
La compilation consiste à transformer le programme en code
intermédiaire
exécutable par la machine, elle s’effectue en 04 phases :
 Traduction de l’algorithme en programme
1. Le traitement par le préprocesseur : il effectue des
 Puis en code assembleur
transformations purement textuelles (remplacement de
 Puis en code machine compréhensible par le processeur
chaînes de caractères, inclusion d’autres fichiers source . . .).
Code 2. La compilation : la compilation proprement dite traduit le
Besoins Algorithme Programme Assembleur
machine fichier généré par le préprocesseur en assembleur.
3. L’assemblage : cette opération transforme le code assembleur
Le langage de programmation C++ est un langage compilé (par en un fichier binaire et produit un fichier objet.
opposition aux langages interprétés). Un programme C est décrit par 4. L’édition de liens : un programme fait généralement appel à
un fichier source. Ce fichier doit être traduit en langage machine. des librairies de fonctions standards déjà écrites. Une fois
Cette opération est effectuée par un programme appelé compilateur. chaque code source assemblé, il faut donc lier entre eux les
différents fichiers objets. L’édition de liens produit alors un
fichier dit exécutable.

1
Université de Bejaia Support de cour programmation C++
Faculté de Technologie GAGAOUA M
Département Génie électrique/ATE 2019/2020
3ieme année Automatique

Les identificateurs - float : pour les nombres réels, c’est-à-dire à virgules .


Le rôle d’un identificateur est de donner un nom à une entité du - char : pour les caractères (lettres, chiffres, signes, ...)
programme. Plus précisément, un identificateur peut désigner : - bool : pour les nombre booléen.
 Un nom de variable ou de fonction,
 Un type défini par typedef, struct, union ou enum, Type de donnée Taille en octet Plage de valeurs
 Une étiquette. char 1 -128 à 127
Un identificateur est une suite de caractères parmi : int 4 -2147483648 à 2147483647
 les lettres (minuscules ou majuscules, mais non accentuées, float 4 1.2e-38 à 3.4 e+38
ni espace, ni ‘-‘),
Un entier peut être exprimé dans différente base :
 les chiffres,
- décimale : suite de chiffres compris entre 0 et 9 ne devant pas
 le “blanc souligné (_).
commencer par un 0 ;
 Un identificateur ne doit pas commencer par un chiffre.
- octale : suite de chiffres de 0 à 7 commençant par la lettre ‘o’.
 Un identificateur ne doit pas être un mot clés :
- hexadécimale : suite de 0 à 9 et de A à F (ou a à f)
Auto – break - case - char - const – continue - default - do – double
commençant par ‘0x’ ou ‘0X’.
- else - enum – extern - float – for – goto - if – int – long - register
Un flottant est exprimé par :
– return – short - signed - sizeof - static -struct – switch – typedef - un entier décimal : 895
- union – unsigned – void - volatile –while - un nombre comportant un point (et non une virgule) : 845.32
- un nombre exponentiel : 2.75e-2 ou 35.8E+10 ou .25e-2
Déclaration des variables:
Les variables se déclarent de la façon suivante :
Portée (visibilité) des variables
Type nom_variable ;
- Avant la fonction main (le programme principal), les
Type nom_variable1, nom_variabe2 ;
variables sont dites globales. C’est-à-dire qu’elles sont
Type nom_variable = valeur ;
accessibles n’importe où dans le programme.
Les types de données - Dans un bloc ou dans une fonction, les variables sont dites
Il existe quatre types de base pour les variables en C ++: locales. C’est-à-dire qu’elles n’existent que dans le bloc où
- int : pour les nombres entiers signés ou non signés. elles ont été déclarées.
2
Université de Bejaia Support de cour programmation C++
Faculté de Technologie GAGAOUA M
Département Génie électrique/ATE 2019/2020
3ieme année Automatique

Définition des constantes : Les opérateurs :


#define Pi 3.1415927 ; L’affectation : symbolisée par le caractère ‘=’.
const float Pi = 3.1415927 ; Variable = expression ;
Les constantes permettent de déclarer les constantes typées et L’affectation effectue une conversion de type implicite, le résultat de
facilitent la modification des valeurs constantes utilisées dans le expression est converti dans le type de variable.
int i, j = 2;
programme. float x = 2.5;
Les commentaires : les commentaires sont nécessaires et très i = j + x;
simples. Tout programme doit être commenté mais sans chargé le x = x + i;
programme lui-même. Dans cet exemple la valeur de i est 4 et celle de x est 6.5.
Il existe deux types de commentaires : Les opérateurs arithmétiques :
- Les commentaires d’une seul ligne // …. + Addition
- soustraction (entre deux opérandes)
- Ceux qui s’étendent sur plusieurs lignes /* ….*/
- changement de signe (unaire)
* multiplication
Lecture et écriture des données cout et cin . / Division
Les entrées sorties dans le C++ sont implémenté dans la bibliothèque % reste de la division (modulo)
« iostream » Le langage C++ utilise le même opérateur pour la division entière et la
Dans un "cout" on peut mettre division entre flottants. Si les deux opérandes sont de type entier, le /
 Des chaînes de caractères : cout <<"bienvenue" ; effectue la division entière (délivre le quotient). Si l’un des opérandes est
 Le contenu de variables : cout << a ; de type flottant le résultat est celui de la division réelle.
float x;
 Une constante qui permet de passer à la ligne : cout << endl ;
x = 3 / 2; // x = 1
 On peut mélanger ces trois types d’affichage dans un même x = 3 / 2. ; // x = 1.5
cout ; il suffit de répéter les "<<" : Les opérateurs relationnels
Ex : cout <<"bienvenue " << a << endl ; > Strictement supérieur
 On peut saisir plusieurs valeurs à la suite dans un "cin" : >= Supérieur ouégal
cin>>a>>b>>c permettra de saisir les trois variables a, b et c. < Strictement inférieur
<= inférieur ou égal

3
Université de Bejaia Support de cour programmation C++
Faculté de Technologie GAGAOUA M
Département Génie électrique/ATE 2019/2020
3ieme année Automatique

== égal
!= différent
Ils s’appliquent comme suit :
expression-1 op expression-2
L’opérateur s’applique sur les résultats des deux expressions et renvoie
une valeur de type int (le type booléen n’existe pas). Le résultat est 1 si
vrai et 0 sinon.
Les opérateurs logiques :
&& et logique
|| Ou logique
! Négation logique
La valeur retournée par ces opérateurs est un int qui vaut 1 si la
condition est vraie et 0 sinon.
Les opérateurs d’affectation composée :
L’évaluation des expressions logiques se fait de gauche à droite et s’arrête
Les opérateurs d’affectation composée sont
dès que le résultat final est déterminé.
+= -= *= /= %= &= ^= |= <<= >>=
if ((i >= 0) && (i <= 9) && !(p[i] == 0))
Pour tout opérateur op, l’expression
La dernière clause ne sera pas évaluée si i n’est pas entre 0 et 9
expression-1 op= expression-2
Les opérateurs logiques bit à bit :
Est équivalente à
& et | ou inclusif
expression-1 = expression-1 op expression-2
^ ou exclusif ~ complément à 1
<< décalage à gauche >> décalage à droite Les opérateurs d’incrémentation et de décrémentation :
Ces opérateurs s’appliquent bit à bit aux entiers de toute longueur Les opérateurs d’incrémentation ++ et de décrémentation -- s’utilisent
(short, int ou long), signés ou non. aussi bien en suffixe (i++) qu’en préfixe (++i). Toutefois dans la
notation suffixe la valeur retournée sera l’ancienne valeur de i.
int a = 3, b, c;
b = ++a; /* a et b valent 4 */
c = b++; /* c vaut 4 et b vaut 5 */

4
Université de Bejaia Support de cour programmation C++
Faculté de Technologie GAGAOUA M
Département Génie électrique/ATE 2019/2020
3ieme année Automatique

L’opérateur conditionnel ternaire : = += -= *= /= %= &= ^= |= <<= >>=


L’opérateur conditionnel ? est un opérateur ternaire. Sa syntaxe est la ,
suivante : Bibliothèque <Cmath> :
condition ? expression-1 : expression-2 Pour avoir accès à plus de fonctions mathématiques, il suffit
Cette expression est égale à expression-1 si condition est satisfaite, d'ajouter une ligne en tête dans le programme C++ :
et à expression-2 sinon. #include <cmath>
x >= 0 ? x : -x
Correspond à la valeur absolue d’un nombre. De même l’instruction
m = ((a > b) ? a : b); Nom de la fonction Symbole Fonction Mini-exemple
x>0 && y>0 ? x/y :x Racine carrée sqrtx sqrt() resultat = sqrt(valeur);
Affecte à m le maximum de a et de b.
L’opérateur adresse : puissance pow Pow() Resultat=pow(valeur1,valeur2) ;
L’opérateur d’adresse & appliqué à une variable retourne l’adresse
mémoire de cette variable. La syntaxe est : &variable Sinus sin(x) sin() resultat = sin(valeur);
Ordre de priorité des opérateurs :
Le tableau suivant classe les opérateurs par ordres de priorité décroissant Cosinus cos(x) cos() resultat = cos(valeur);
() [] -> .
! ~ ++ -- -(unaire) (type) *(indirection) Tangente tan(x) tan() resultat = tan(valeur);
&(adresse) sizeof
* / % Exponentielle exex exp() resultat = exp(valeur);
+ -(binaire)
<< >>
< <= > >= Logarithme népérien lnxl log() resultat = log(valeur);
== !=
&(et bit à bit) Logarithme en base 10 log10 log10() resultat = log10(valeur);
^
| Valeur absolue |x| fabs() resultat = fabs(valeur);
&&
|| Arrondi vers le bas ⌊×⌋ floor() resultat = floor(valeur);
?:

5
Université de Bejaia Support de cour programmation C++
Faculté de Technologie GAGAOUA M
Département Génie électrique/ATE 2019/2020
3ieme année Automatique

Arrondi vers le haut ⌈×⌉ ceil() resultat = ceil(valeur);