0% ont trouvé ce document utile (0 vote)
193 vues2 pages

Exercices de Langage C - ENSA Tanger 2021

Ce document contient plusieurs exercices sur le langage C portant sur les opérateurs, les types, les expressions et les instructions conditionnelles. Les exercices proposent de déterminer le type et la valeur d'expressions, ainsi que les résultats de programmes courts.

Transféré par

Hafsa Chadli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
193 vues2 pages

Exercices de Langage C - ENSA Tanger 2021

Ce document contient plusieurs exercices sur le langage C portant sur les opérateurs, les types, les expressions et les instructions conditionnelles. Les exercices proposent de déterminer le type et la valeur d'expressions, ainsi que les résultats de programmes courts.

Transféré par

Hafsa Chadli
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Nationale des Sciences Appliquées Tanger 2020/2021

Feuille d’exercices: Langage C

Exercice 1 :
Eliminer les parenthèses superflues dans les express ions suivantes :
a = (x+5) /* expression 1 */
a = (x=y) + 2 /* expression 2 */
a = (x==y) /* expression 3 */
(a<b) && (c<d) /* expression 4 */
(i++) * (n+p) /* expression 5 */

Exercice 2 :
Soient les déclarations:
char c = '\x01' ;
short int p = 10 ;

Quels sont le type et la valeur de chacune des expressions suivantes:


p + 3 /* 1 */
c + 1 /* 2 */
p + c /* 3 */
3 * p + 5* c /* 4 */

Exercice 3 :
Soient les déclarations :
char c = '\x05' ;
int n = 5 ;
long p = 1000 ;
float x = 1.25 ;
double z = 5.5 ;

Quels sont le type et la valeur de chacune des expressions suivantes:


n + c+ p /* 1 */
2 * x+ c /* 2 */
(char) n + c /* 3 */
(float) z + n / 2 /* 4 */

Exercice 4 :
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 :
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 */

Exercice 5 :
Quels résultats fournit le programme suivant :
#include <stdio.h>
main ()

1/2
Ecole Nationale des Sciences Appliquées Tanger 2020/2021

Feuille d’exercices: Langage C

{
int i, j, n ;
i = 0 ; n = i++ ;
printf ("A : i = %d n = %d \n", i, n ) ;
i = 10 ; n = ++i ;
printf ("B : i = %d n = %d \n", i, n ) ;
i = 20 ; j = 5 ; n = i++ * ++j ;
printf ("C : i = %d j = %d n = %d \n", i, j, n ) ;
i = 15 ; n = i += 3 ;
printf ("D : i = %d n = %d \n", i, n) ;
i = 3 ; j = 5 ; n = i *= --j ;
printf ("E : i = %d j = %d n = %d \n", i, j, n) ;
}

Exercice 6 :
Quels résultats fournit le programme suivant :
#include <stdio.h>
main()
{
int n=10, p=5, q=10, r ;
r = n == (p = q) ;
printf ("A : n = %d p = %d q = %d r = %d\n", n, p, q, r) ;
n= p= q= 5;
n += p += q ;
printf ("B : n = %d p = %d q = %d\n", n, p, q) ;
q = n < p ? n++ : p++ ;
printf ("C : n = %d p = %d q = %d\n", n, p, q) ;
q = n > p ? n++ : p++ ;
printf ("D : n = %d p = %d q = %d\n", n, p, q) ;
}

Exercice 7 :
Quels résultats fournira ce programme :
#include <stdio.h>
main()
{
int n, p, q ;
n= 5; p= 2; /* cas 1 */
q = n++ >p || p++ != 3 ;
printf ("A : n = %d p = %d q = %d\n", n, p, q) ;
n= 5; p= 2; /* cas 2 */
q = n++ <p || p++ != 3 ;
printf ("B : n = %d p = %d q = %d\n", n, p, q) ;
n= 5; p= 2; /* cas 3 */
q = ++n == 3 && ++p == 3 ;
printf ("C : n = %d p = %d q = %d\n", n, p, q) ;
n= 5; p= 2; /* cas 4 */
q = ++n == 6 && ++p == 3 ;
printf ("D : n = %d p = %d q = %d\n", n, p, q) ;
}

2/2

Vous aimerez peut-être aussi