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
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
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