0% ont trouvé ce document utile (0 vote)
51 vues18 pages

Solutions Série 1 S2 2018-2019

Programmation en c

Transféré par

Wilfried Mbiawa
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)
51 vues18 pages

Solutions Série 1 S2 2018-2019

Programmation en c

Transféré par

Wilfried Mbiawa
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
Vous êtes sur la page 1/ 18

SÉRIE 1

(EXERCICES/SOLUTIONS)
Master SEIB
2018-2019
Azzedine DLIOU
ENSA Agadir
Université Ibn Zohr
EXERCICE 1
Quels sont les résultats fournit par les programmes suivants :
1. #include <stdio.h> 2. #include <stdio.h>
main () main()
{ {
int i, j, n ; int n=20, p=15, q=10, r;
i=2; r = n == (p += q);
n = i-- ; printf ("A : n = %d p = %d q = %d r
printf ("A : i = %d n = %d \n", i, n); = %d\n", n, p, q, r);
i = 10 ; n = ++i ; n = p = q = 5;
printf ("B : i = %d n = %d \n", i, n); n += p -= q ;
i = 15 ; j = 5 ; n = i++*--j ; printf ("B : n = %d p = %d q =
printf ("C : i = %d j = %d n = %d %d\n", n, p, q) ;
\n", i, j, n ) ; q = n++/++p;
i = 15 ; n = i -= 2 ; printf ("C : n = %d p = %d q =
printf ("D : i = %d n = %d \n", i, n); %d\n", n, p, q) ;
i = 4 ; j = 5 ; n = i *= j++ ; q = ++n%p++;
printf ("E : i = %d j = %d n = %d printf ("D : n = %d p = %d q =
\n", i, j, n) ; %d\n", n, p, q) ;
} }
EXERCICE 1

3. #include<stdio.h>
main()
{
char c;
int n;
c='s';
printf("cas A : %c\n",c);
n=c;
printf("cas B : %c\n", n);
printf("cas C : %d %d\n", c, n);
printf("cas D : %d %c\n", c, n);
}
EXERCICE 2
1. Soit le programme C suivant : 2. Soit le programme suivant :
#include <stdio.h> #include <stdio.h>
main() main()
{ {
int i, j = 2; int i = 5, j=2;
float x = 2.5; float x, y;
i = j + x; x = i/j;
x = x + i; printf("a = %f \n",x);
printf("x = %f \n",x); }
} a) Qu’affiche ce programme ?
a) Qu’affiche ce programme ? b) pourquoi ?
b) pourquoi ? c) Modifiez le pour qu’il affiche le
c) Modifiez le pour qu’il affiche le résultat demandé affiche le
résultat demandé affiche le résultat demandé
résultat demandé
EXERCICE 2
3. On considère la séquence 4. L’exécution du programme ci-
d’instructions suivante : dessous donne les résultats
int a = 5, b = 3, c = 2; indiqués. Expliquer pourquoi.
int x = 0, y = 0, z = 1; #include <stdio.h>
a = b; main()
x || (y && z); {
a & b; char c = 'a';
a + b – c; printf("%d\n",c);
(x == y) || (x != z); c = c+c;
(a | b) & c; printf ("%d\n",c);
(a * c) / b; }
(a < b) != ( !(b >= c) ); Résultats :
(a&b) || c; 97
Évaluer chacune des expressions, -62
ou déclarations.
EXERCICE 3

1. Ecrire un programme en C qui calcule le volume


d’une sphère étant donné son rayon, sachant que :
V = 4/3( R3).
2. Ecrire un programme en C qui convertit les
degrés Fahrenheit en degrés Celsius selon la
formule :
TC = 5/9(TF – 32).
EXERCICE 4
1. Quels entiers affiche à l’écran le petit bloc
d’instructions suivant :
1 int i=0;
2 int n=0;
3 while(n<10){
4 printf("%d\n",i);
5 i++;
6 n=i*i;
7}
2. Même question si on permute :
a. les instructions de la ligne 4 et de la ligne 5 ?
b. les instructions de la ligne 4 et de la ligne 6 ?
c. les instructions de la ligne 5 et de la ligne 6 ?
1- EXERCICE 4

2-
EXERCICE 5
Qu’affichera le programme suivant ?
1 #include <stdio.h>
2 main(){
3 int a=16;
4 int b=2;
5 int c=10;
6 c += a > 0 && a <= 15 ? a++ : a/b;
7 a > 30 ? b = 11 : c = 100;
8 printf("\na=%d b=%d c=%d\n",a,b,c);
9}
Que se passe-t-il si on remplace la ligne 7 par :
a = a > 30 ? b = 11 : c = 100; ?
EXERCICE 6

Ecrire les expressions qui permettent de


tester :
1. si un entier x est impair,
2. si un entier y est dans l’intervalle [0,10]
et différent de 5,
3. si un entier z n’est pas dans l’intervalle :
]− 5,8]
EXERCICE 7

1. Ecrire en C un programme main() qui


calcule le minimum de k entiers ; le
nombre k sera saisi au clavier par
l'utilisateur
2. Ecrire un programme C qui affiche
l'ensemble des diviseurs premiers d'un
entier strictement positif entré par
l'utilisateur
1-
#include <stdio.h>
E XERCICE 7
main ()
{
int n, min, entier;
do{
printf("Veuillez entrer le nombre d'entiers à tester : ");
scanf("%d",&n);
}while ( n<=0 );
printf("Entrer vos entiers séparés par des retours à la ligne\n");
scanf("%d",&entier);
min=entier;
n--;
for (; n>0; n--){
scanf("%d", &entier);
if (min>entier)
min=entier;
}
printf("Le minimum de tous vos entiers est %d\n",min);
}
2-
#include <stdio.h>
E XERCICE 7
#include <math.h>
main(){
int A;
int i;
do{
printf("Nombre strictement positif : ") ;
scanf("%d" , &A) ;
}while(A<=0);
printf("Les diviseurs entiers de %d sont :\n" , A);
for(i=2; i<=A/2; i++){
if ( A%i==0 )
{
int j;
for(j=2; j<=sqrt(i); j++)
if ( i%j==0 ) goto sortie;
printf("%d\n",i) ;
sortie: continue;
}
}
}
EXERCICE 8

1. Ecrire un programme dans lequel


l'utilisateur donne n au clavier, et qui
affiche les n premiers nombres impairs.
Par exemple, si n vaut 7 le programme
affichera : 1 3 5 7 9 11 13.
2. Ecrire un programme qui affiche vrai si
le caractère saisi par l’utilisateur est une
voyelle.
1. EXERCICE 8
#include <stdio.h>
main(){
int n;
int i, k;
printf("donner le nombre d'entiers desirés : ") ;
scanf("%d" , &n) ;
for(i=k=0; k<n; i++)
{
if ( i%2!=0 )
{
printf("%d ",i) ;
k++;
}

}
printf("\n") ;
}
EXERCICE 8
2.
#include <stdio.h>
main(){
char car;
printf("donner un caractere : ") ;
scanf("%c" , &car) ;
if ( car=='a'|| car=='e' || car=='i' || car=='u' ||
car=='o' || car=='A'|| car=='E' || car=='I' ||
car=='U' || car=='O')
printf("le carctere \"%c\" est une voyelle\n",car) ;
else
printf("le carctere \"%c\" n'est pas une
voyelle\n",car) ;

}
EXERCICE 8
2. Autre solution :
#include <stdio.h>
main(){
char car;
printf("donner un caractere : ") ;
scanf("%c" , &car) ;
switch(car){
case 'a': case 'e': case 'i': case 'u': case 'o':
case 'A': case 'E': case 'I': case 'U': case 'O':
printf("le carctere \"%c\" est une
voyelle\n",car) ;
break;
default : printf("le carctere \"%c\" n'est pas
une voyelle\n",car) ;
}
}

Vous aimerez peut-être aussi