Exercice langage C: Les valeurs affectés au variables
Rédigé par GC Team, Publié le 19 Mars 2012, Mise à jour le Mardi, 30 Novembre 1999 00:00Soient les déclarations suivantes :
int n = 5, p = 9 ;
int q ;
float x ;
Quelle est la valeur affectée aux différentes variables concernées par chacune des instructions suivantes :
q = n < p ; /* 1 */
q = n == p ; /* 2 */
q = p % n + p > n ; /* 3 */
x = p / n ; /* 4 */
x = (float) p / n ; /* 5 */
x = (p + 0.5) / n ; /* 6 */
x = (int) (p + 0.5) / n ; /* 7 */
q = n * (p > n ? n : p) ; /* 8 */
q = n * (p < n ? n : p) ; /* 9 *:
1) 1
2) 0
3) 5 (p%n vaut 4, tandis que p>n vaut 1)
4) 1 (p/n est d'abord évalué en int, ce qui fournit 1 ; puis le résultat est converti en float, avant d'être affecté à x).
5) 1.8 (p est converti en float, avant d'être divisé par le résultat de la conversion de n en float).
6) 1.9 (p est converti en float, avant d'être ajouté à 0.5 ; le résultat est divisé par le résultat de la conversion de n en float).
7) 1 (p est converti en float, avant d'être ajouté à 0.5 ; le résultat (5.5) est alors converti en int avant d'être divisé par n).
8) 25
9) 45