Exercice langage C : Les valeurs des variables

1.

(*2) Soit le code suivant :

int i = 0, j = 5, somme = 20;

if (j && (i = somme / j) ) somme = 10;

else somme = 30;

Donnez les valeurs des variables après l’exécution de ce programme.

2.

(*3) La fonctionstrcpy permet de copier une chaine de caractères dans une autre, existante.

Voici son prototype :

char

*strcpy ( char *destination, char *source);.

Écrivez cette fonctionsans utiliser de tableaux ni d’opérateurs[] (uniquement des pointeurs et des accès pointeurs).

3.

Dans le code suivant :

int i=0, j=0;

j = ++i;

Que vaut la variablej après l’instruction d’affectation?


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1.
 
 Soit erne, un tableau de 10 entiers. Donnez l’instruction permettant de saisir au clavier le 3e
entier.
Réponse : Soit
scanf("%d", &erne[2]) ; ou bien
scanf("%d", erne + 2) ;
 
2.
 
 (*2) Pourquoi doit-on placer un ’&’ devant la variable ime dans le code suivant :
int ime ;
scanf("%d", &ime) ;
Réponse : La fonction scanf permet de lire des octets à partir du ?chier stdin, habituellement relié au clavier, de les convertir éventuellement selon le format indiqué (ici %d, pour
une conversion en entier, de caractères numériques en base 10) et de stocker le résultat
de cette conversion dans une variable.
En langage C, « stocker dans une variable » s’exprime en utilisant l’opérateur &.
 
3.
 
 Que vaut la variable ernet à la ?n du code suivant ?
On rappelle que x += y est équivalent à x = x + Y et que de manière générale x op = y
est équivalent à x = x op y.
int ernet = 100 ;
ernet += 5 ;
ernet *= 10 ;
ernet /= 15 ;
ernet %= 4 ;