6. Opérateurs et expressions en С++

• Opérateurs en С++
- Opérateurs arithmétiques
- Opérateurs logiques
- Opérateurs relationnels
- Affectation
- Conversion du type de l'opérande
- Opérateur conditionnel
- Opérateur virgule
• Expressions en C++. Priorité des opérateurs
• Conversion du type implicite
• Exemples et tâches


 
 

• Exemples et tâches


11. Les opérateurs < /inférieur strict/ et > /supérieur strict/ sont opérateurs binaires. Ils s’exécutent de gauche à droite. Le résultat de la comparaison est 1 /vrai/ ou 0 /faux/. Introduire x, y et z et vérifier la règle:



12. Il est possible d’affecter successivement une valeur à plusieurs variables. Exemple:

int v1,v2,v3 = 5;
v1 = v2 = v3; // v1 et v2 prennent la valeur 5

13. Chez l’affectation, quand les types de la variable et de l’opérande sont différents, la valeur de l’opérande se convertit automatiquement vers le type de la variable. Une perte d’information est possible. Exemple:

int a ;
a = -3.9 ; // a prend la valeur -3, au lieu de -3.9.
char c = 42.9;
cout << "c = "<< c; // affiche c = *

14. L’affectation s’exécute de gauche à droite. Exemple:

int x;
double y ;
y = x = -3.9; // x prend la valeur -3, y prend la valeur -3
x = y = -3.9; // x prend la valeur -3, y prend la valeur -3.9

15. La place des opérateurs ++ et -- /avant ou après la variable/ est très importante. Si les opérateurs sont placés avant la variable, premièrement la variable change sa valeur et l’opérande est évalué ensuite. Si les opérateurs sont placés après la variable premièrement l’opérande est évalué et la valeur de la variаble change ensuite.

Quelle est la valeur de v après l'affichage:



16. L’opérateur (type)opérande est un opérateur unaire ayant la priorité plus haute que la priorité de l’opérateur / /division/. Il s’exécute de droite à gauche. Quel est le résultat du code suivant:



17. Quel est le résultat du code suivant? Est-ce que les accolades dans
cout<<(z ? x:y); sont obligatoires ?



18. Exemple pour l’opérateur , /virgule/. Le résultat de l'opérateur "virgule" est la valeur de l'opérande 2.
Quel est le résultat du code suivant?



19. Afficher la plue grande valeur du type long int. Elle est égale à 2n-1 – 1, ou n est le nombre des bits occupés du type
long int. #include < iostream.h > #include < math.h > #include < iomanip.h > int main() { cout<<"La plue grande valeur du type long int est: "; cout<<( long int) (pow(2,sizeof(long int)*8 -1) -1); return 0; } 20. Afficher la plue grande valeur du type unsigned long int. Elle est égale à 2n – 1, ou n est le nombre des bits occupés du type unsigned long int.

21. Ecrire un programme qui introduit le temps en secondes et le calcule en heures, minutes et secondes.
#include < iostream.h > int main() { int seconds, sec, min, hour; cout << "Introduire un temps en secondes: "; cin >> seconds; hour = seconds/3600; min = seconds%3600/60; sec = seconds%3600%60; cout << seconds << " Secondes sont egale a " << hour << " heures," << min << " minutes et "<< sec << "secondes." ; return 0; } 22. Introduire la longueur en millimètres et la calculer en mètres, centimètres et millimètres.
23. Ecrire un programme qui vérifie si un entier peut être divisé en 5 sans reste.
24. Evaluer le coefficient de la diffusion Dg selon la formule suivante:

ou Ma et Mb sont des masses moléculaires, Va et Vb sont des volumes, p est une pression et t est une température.

25. Evaluer la densité K selon la relation de Arrhenius
, ou R est une constante, R = 0,813, Ко, Е et Т sont des variables réelles.

26. Ecrire un programme qui calcule la densité d'un gaz utilisant la formule de Klapejron:



ou Т, Т0 sont des températures, P et P0 sont des pressions, М est une masse moléculaire.