Exercices en langage C/Les opérateurs

Pour les besoins de certains exercices, on rappelle le tableau de priorité des opérateurs du C :

Catégorie d'opérateurs
Opérateurs
Associativité
fonction, tableau, membre de structure, pointeur sur un membre de structure ( ) [ ] . -> Gauche -> Droite
opérateurs unaires - ++ -- ! ~

* & sizeof (type)

Droite ->Gauche
multiplication, division, modulo * / % Gauche -> Droite
addition, soustraction + - Gauche -> Droite
décalage << >> Gauche -> Droite
opérateurs relationnels < <= > >= Gauche -> Droite
opérateurs de comparaison == != Gauche -> Droite
et binaire & Gauche -> Droite
ou exclusif binaire ^ Gauche -> Droite
ou binaire ǀ Gauche -> Droite
et logique && Gauche -> Droite
ou logique ǁ Gauche -> Droite
opérateur conditionnel ? : Droite -> Gauche
opérateurs d'affectation = += -= *= /= %=

&= ^= |= <<= >>=

Droite -> Gauche
opérateur virgule , Gauche -> Droite

La priorité des opérateurs va décroissante lorsqu'on se déplace du haut du tableau vers le bas du tableau. Quand les opérateurs ont même priorité, c'est la colonne de droite sur la distributivité qui est utilisée.

Analyse de programmes

modifier

Nous allons présenter dans cette section un ensemble d'exercices destinés à se familiariser avec les opérateurs du langage C.

Exercice 1

modifier
  • Quelle est la valeur de i après la suite d'instructions :
int i=10;
i = i-(i--);
  • Quelle est la valeur de i après la suite d'instructions :
int i=10;
i = i-(--i);

Exercice 2 : la priorité des opérateurs

modifier

Enlever les parenthèses des expressions suivantes lorsqu'elles peuvent être retirées.

a=(25*12)+b;
if ((a>4) &&(b==18)) { }
((a>=6)&&(b<18))||(c!=18)
c=(a=(b+10));

Évaluer ces expressions pour a=6, b=18 et c=24. On supposera que les valeurs données le sont pour chacune des lignes : il n'y a pas d'exécution séquentielle comme dans un programme.


Petit programme de calcul

modifier

Écrivez un programme calcul.c qui calcule la distance entre deux points d'un plan :

  • Lit les coordonnées de deux points : X1 (x1, y1) et X2 (x2, y2).
  • Affiche les données lues
  • Calcule la distance d entre les deux points X1 et X2, avec la formule :

 

  • Affiche le résultat à l'écran.