Chapitre 5 Opérateurs, expressions et conversions
Chapitre 5 : Op¨¦rateurs, expressions et conversion
41
Chapitre 5
Op¨¦rateurs, expressions et conversions
? Mohamed N. Lokbani
v1.01
Chapitre 5 : Op¨¦rateurs, expressions et conversion
POO avec C++
42
1. Expressions
- Une expression est la composition d¡¯op¨¦rateurs, de variables, de constantes, de fonctions et de
parenth¨¨ses.
- Une expression retourne toujours un r¨¦sultat, sa valeur.
- La valeur de l¡¯expression a un type et, elle peut-¨ºtre utilis¨¦e dans une autre expression
Dans cet exemple :
int x = 3 + sin(z) ;
Variable : Z
Constante : 3
Fonction : sin
Valeur de retour : x , type ? int ?
? Mohamed N. Lokbani
v1.01
POO avec C++
Chapitre 5 : Op¨¦rateurs, expressions et conversion
43
2. Op¨¦rateurs
- Le langage C++ est riche en op¨¦rateurs.
Priorit¨¦ et associativit¨¦ des op¨¦rateurs
Op¨¦rateur
Associativit¨¦
:: (port¨¦e globale)
:: (port¨¦e classe)
()
[]
->
.
(postfixe)++
(postfixe)-- sizeof typedef
++(pr¨¦fixe)
¨C-(prefixe) !
~
&(adresse)
+(unaire)
¨C(unaire)
*(indirection) delete new casts
.* ->*
* / %
+ >
< >=
== !=
&
^
|
&&
||
?:
= += -= *= /= %= >>= 2 i = -25
&
|
^
Op1
0
0
1
1
Op2
0
1
0
1
Commentaire
n¨¦gation bit ¨¤ bit. Il inverse un ¨¤ un tous les
bits de son unique op¨¦rande
d¨¦calage ¨¤ gauche de n rangs. Les bits sortants
sont perdus. Ils sont remplac¨¦s par des 0. Si la
variable est sign¨¦e, le bit de signe est
conserv¨¦. Multiplication par 2.
d¨¦calage ¨¤ droite de n rangs. Les bits sortants
sont perdus. Ils sont remplac¨¦s par des 0. Si la
variable est sign¨¦e, le bit de signe est
conserv¨¦. Division par 2.
ET bit ¨¤ bit entre les valeurs de 2 expressions
OU bit ¨¤ bit entre les valeurs de 2 expressions
OU exclusif bit ¨¤ bit entre les valeurs de 2
expressions
Op1&Op2
0
0
0
1
? Mohamed N. Lokbani
Op1|Op2
0
1
1
1
Op1^Op2
0
1
1
0
v1.01
POO avec C++
Chapitre 5 : Op¨¦rateurs, expressions et conversion
46
2.3 Op¨¦rateurs d¡¯incr¨¦ment et de d¨¦cr¨¦ment
- Les op¨¦rateurs d¡¯incr¨¦mentation ou d¨¦cr¨¦mentation sont plac¨¦s soit avant (pr¨¦) soit apr¨¨s (post) la
variable.
j
j
j
j
=
=
=
=
Incr¨¦ment et d¨¦cr¨¦ment
++i ;
i++ ;
--i ;
i-- ;
D¡¯abord
D¡¯abord
D¡¯abord
D¡¯abord
Expression ¨¦quivalente
i = i+1 ; puis j = i
j = i ; puis i = i+1
i = i-1 ; puis j = i
j = i ; puis i = i-1
;
;
;
;
- Pr¨¦ : L¡¯incr¨¦mentation/d¨¦cr¨¦mentation est effectu¨¦e puis la variable est utilis¨¦e.
- Post : L¡¯utilisation de la variable est effectu¨¦e avant l¡¯incr¨¦mentation/d¨¦cr¨¦mentation.
2.4 Op¨¦rateurs d¡¯affectation
- L¡¯¨¦l¨¦ment ¨¤ gauche du ? = ? se voit affecter la valeur retourn¨¦e par l¡¯expression de droite.
- Les conversions ¨¦ventuelles sont prises en consid¨¦ration lors de l¡¯affectation.
a = b = 0 ;
a = b + (c=3) ; c=3 ; a = b + c ;
a op= b ; a = a op b ; // Affectation combin¨¦e
a += 3 ; a = a + 3
op : * / % + - > & ^ |
? Mohamed N. Lokbani
v1.01
POO avec C++
Chapitre 5 : Op¨¦rateurs, expressions et conversion
47
2.5 Op¨¦rateurs relationnels et bool¨¦ens
- Le r¨¦sultat de la comparaison de deux expressions vaut :
false (0) si le r¨¦sultat de la comparaison est FAUX.
true (1) si le r¨¦sultat de la comparaison est VRAI.
Type
Relationnel
?galit¨¦
Logique
Op¨¦ration
Inf¨¦rieur que
Sup¨¦rieur que
Inf¨¦rieur que ou ¨¦gal
Sup¨¦rieur que ou ¨¦gal
?gal
Diff¨¦rent
N¨¦gation (unaire)
ET bool¨¦en
OU bool¨¦en
? Mohamed N. Lokbani
Symbole
<
>
=
==
!=
!
&&
||
v1.01
POO avec C++
Chapitre 5 : Op¨¦rateurs, expressions et conversion
48
- Une expression est vraie si elle est non nulle.
- Une expression est fausse si elle est ¨¦gale ¨¤ z¨¦ro.
D¨¦claration et initialisation
int a = -5, b=3, c=0 ;
Expression
Equivalence
Valeur
a + 5 && b
((a + 5) && b)
false ou 0
!(a < b) && c
(( !(a < b)) && c) false ou 0
1 || (a != 7)
(1 || (a != 7))
true ou 1
(( !(a < b)) && c)
(a faux
c = 0 c a une valeur nulle => faux
(( !(vrai)) && faux) => faux (false)
Op1
0
0
1
1
? Mohamed N. Lokbani
Op2
0
1
0
1
Op1&&Op2
0
0
0
1
v1.01
Op1||Op2
0
1
1
1
!Op1
1
0
0
1
POO avec C++
Chapitre 5 : Op¨¦rateurs, expressions et conversion
49
2.6 Op¨¦rateur de s¨¦quence
- L¡¯op¨¦rateur de s¨¦quence est repr¨¦sent¨¦ par le symbole ? , ?.
- Il est le moins prioritaire dans la table des op¨¦rateurs.
- Il permet d¡¯¨¦valuer les diff¨¦rentes op¨¦rations dans l¡¯ordre.
- Dans une liste d¡¯expressions s¨¦par¨¦es par ? , ?, chaque expression est ¨¦valu¨¦e en premier avant de passer
¨¤ la suivante qui se trouve ¨¤ sa droite.
a = (b=10 , b+20) ;
b=10 ; a=b+20=10+20=30 ;
x = 10, i=2, z=3 ;
? Mohamed N. Lokbani
v1.01
Chapitre 5 : Op¨¦rateurs, expressions et conversion
POO avec C++
50
2.7 Op¨¦rateur conditionnel
- Il est appel¨¦ aussi op¨¦rateur ternaire.
- Il prend comme op¨¦randes 3 expressions.
- La syntaxe de l¡¯op¨¦rateur conditionnel est comme suit :
(expression1) ? expression2 : expression3 ;
- ? expression1 ? est ¨¦valu¨¦e en premier.
- Si ? expression1 ? est vraie alors :
? expression2 ? est ¨¦valu¨¦e.
Le r¨¦sultat est celui fourni par ? expression2 ?
- Si ? expression1 ? est fausse alors :
? expression3 ? est ¨¦valu¨¦e.
Le r¨¦sultat est fourni par ? expression3 ?.
int a = -3 ;
int n = (a < 0) ? -a : a ;
a = -3 < 0 ?
vrai => n = -a = 3 ;
Dans cet exemple, n est ¨¦gale ¨¤ la valeur absolue de a.
? Mohamed N. Lokbani
v1.01
POO avec C++
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- norma ieee 754 departamento de ciencias e ingeniería en
- solutions du chapitre 3
- cours conversions de type no ip
- conversiÓn de tipos de datos en java moldeado o
- traducción de pseudocódigo a c unirioja
- langage python types variables et operateurs
- le langage python
- l héritage et le polymorphisme en java
- chapitre 5 opérateurs expressions et conversions
- destring — convert string variables to numeric