Exercice langage C: Les valeurs affectés au variables

Soient 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

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

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

Article publié le 19 Mars 2012 par GC Team