Fiche TD LC
Fiche TD LC
Fiche TD LC
Programmation en langage C
Exercice 1
Quels sont les résultats fournis le programme suivant :
#include<stdio.h>
#include<stdlib.h>
int 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 : %x %x\n", c, n);
system("pause");
return 0;
}
Exercice 2
Quels résultats fournit le programme suivant :#include
<stdio.h>
int main (){
int i, j, n ;
i =20;
j = 5;
n = i++ * ++ j ;
printf ("A : i = %d, j = %d, n = %d ", i, j, n ) ;
1
i = 15 ;
n = i += 3 ;
printf ("B : i = %d , n = %d ", i, n) ;
i = 3;
j = 5;
n = i *= –j ;
printf ("C : i = %d j = %d n = %d ", i,j, n) ;
return 1 ;
}
Exercice 3
Quels résultats fournira ce programme :
#include <stdio.h> int main(){
int n, p, q ;
n = 5; p = 2;
q = n++ >p || p++ != 3 ;
printf ("A : n = %d p = %d q = %d", n, p, q) ;
n = 5; p = 2;
q = n++<p || p++ != 3 ;
printf ("B : n = %d p = %d q = %d", n, p, q) ;
n = 5; p = 2;
q = ++n == 3 && ++p == 3 ;
printf ("C : n = %d p = %d q = %d", n, p, q) ;
n = 5; p = 2;
q = ++n == 6 && ++p == 3 ;
printf ("D : n = %d p = %d q = %d", n, p, q) ;
return 1 ;
}
Exercice 4
Quels seront les résultats fournis par ce programme :
#include <stdio.h> int main(){
2
printf ("E : %-5d, %f", n,x) ;
printf ("F : %*d", p, n) ;
printf ("G : %*.*f", 12, 5, x) ;
printf ("H : %x : %8x :", n, n) ;
printf ("I : %o : %8o :", n, n) ;
return 1 ;
Exercice 5
Écrivez un programme qui acquiert un nombre décimal ("à virgule"), censé représenter un prix
hors taxes (pht), et qui affiche le prix ttc correspondant. Le taux de la tva est de 19.6
Exercice 8
Ecrire un programme qui affiche le quotient et le reste de la division entière de deux
nombres entiers entrés au clavier ainsi que le quotient rationnel de ces nombres.
3
• 2000 est bissextile car divisible par 4, par 100 et par 400
Ecrire un programme qui determine si une annee est bissextile ou non
Exercice 10
Ecrire un programme qui demande à l’utilisateur de taper un chiffre et qui l’écrit ensuite en
toute
lettre à l’écran. Par exemple, si l’utilisateur tape le chiffre 9, le programme affichera neuf.
Note : on ne s’occupera que des chiffres et pas de nombres en dehors de l’intervalle [0 9]
1. if-else
2. if
3. switch
Exercice 11
Écrire un programme qui demande à l'utilisateur sa moyenne de BAC et affiche sa mention.
Exercice 12
Écrire un programme simulant une calculatrice. On dispose de deux nombres réels saisis au
clavier. Selon un choix effectué à partir d'un menu affiché à l'écran, on désire calculer la
somme ou le produit ou la moyenne ou le minimum ou le maximum de ces deux nombres. Le
menu devrait se présenter à l'utilisateur de la manière suivante :
**************** MENU *******************
1 : ----------> Somme-----------------
2 : ----------> Produit---------------
3 : ----------> Moyenne---------------
4 : ----------> Minimum---------------
5 : ----------> Maximum--------------------------------------------------------
Donnez votre choix ?
4
LES BOUCLES
Exercice 13
int i;
int S = 0;
for (i=1; i < 6; i=i+2)
S = S + i;
}
printf("%d\n", S);
2. Les boucles "for" peuvent être réécrites comme une boucle "while", et vice-versa. Est-ce
que les deux programmes qui suivent sont équivalents ? Si non, pourquoi ?
Exercice 14
Écrire un programme demandant à l'utilisateur de saisir un nombre entier positif. La saisie sera
répétée jusqu'à ce que le nombre soit positif. Même question pour un nombre entier positif et
multiple 3.
Exercice 15
Ecrire un programme qui demande un nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 ! vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8
Exercice 16
Écrire un programme qui affiche la table de multiplication d'un nombre quelconque (saisi au
clavier).
Exemple :
pour n=9
1*9=9
2*9=18
5
...
9*9=81
Exercice 17
Ecrire un programme qui Affiche un triangle isocèle formé d'étoiles de N lignes (N est fourni
au clavier).
Exercice 18
Ecrire un programme qui calcule xn, où x est un nombre réel de type double et n un entier. La
valeur de x et n est entrée au clavier. On écrira le programme en utilisant une boucle for, puis
une bouche while.
Remarque : Ne pas utiliser la fonction pow de la bibliothèque math.h
Exercice 19
Écrire un programme en C qui affiche la suite de tous les nombres parfaits inférieurs ou
égaux à un nombre donné (saisi) noté n. Un nombre est dit parfait s'il est égal à la somme de
tous ses diviseurs stricts.
Par exemple, 28 est parfait car 28=1+2+4+7+14.
Exercice 20
Écrire un programme qui demande un nombre pair compris entre 60 et 120, jusqu'à ce
que la réponse convienne. En cas de réponse supérieure à 120, on fera apparaître un message
Exercice 21
Ecrire un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur
produit et leur moyenne. Le nombre N est à saisir au clavier en début de programme. En
utilisant
1. la boucle "while"
2. la boucle do-while
3. la boucle for
4. goto