Vous êtes sur la page 1sur 3

Langage C

Travaux Dirigés n° 1 : affectations, variables, expressions


arithmétiques et logiques, E/S, structures conditionnelles
Exercice n° 1 : What will each of the following programs display ?
#include <stdio.h> #include <stdio.h> #include <stdio.h>
int main () { int main () { int main () {
printf ("*****\n"); printf ("*****\n"); float a, b, max;
printf ("****\n"); printf ("* *\n"); printf("Enter two numbers");
printf ("***\n"); printf ("* *\n"); scanf("%f", &a);
printf ("**\n"); printf ("* *\n"); scanf("%f", &b);
printf ("*\n"); printf ("*****\n"); if (a<b) {max=b;}
return 0; return 0; else {max=a;}
} } printf("maximum =%d", max);
return 0;
Program a Program b } Program c
#include <stdio.h> #include <stdio.h> #include <stdio.h>
int main () { #define TEN 10 #define PI 3.14
float a, b, c, sum; int main () { int main () {
printf("Enter thre numbers"); float moyenne; float r,s;
scanf("%f", &a); printf("Enter the average"); printf("Enter the radius");
scanf("%f", &b); scanf("%f", &moyenne); scanf("%f", &r);
scanf("%f", &c); if (moyenne<TEN) s=r*r*PI;
sum=a+b+c ; {printf("Echec");} printf("result=%f\n", s);
printf("sum=%f", sum); else {printf("Succès");} return 0;
return 0; return 0; }
} }

Program d Program e Program f

Exercice 2 : Valeur absolue


Écrire un programme qui lit un entier au clavier et affiche sa valeur absolue.

Exercice 3 : Volume d'une sphère


Ecrire un programme en C qui calcule le volume d’une sphère étant donné son rayon, sachant que V =
4/3(PI)RRR

Exercice 4 : Convertir les degrés Fahrenheit en degrés Celsius


Ecrire un programme en C qui convertit les degrés Fahrenheit en degrés Celsius selon la formule : TC =
5/9(TF – 32).

Exercice : Fonction à une variable


Ecrire un programme qui lit un nombre au clavier et affiche son image par la fonction f définie par
f(x)=x²+2x+1

Exercice 6: Fonction par morceaux à une variable


Ecrire un programme qui lit un nombre au clavier et affiche son image par la fonction h définie par :
f(x)=x²+2x+1 si x<4 ; f(x)=x² si 4<=x<=40 ; f(x)=x+1 si x>40.

Exercice 7 : Fonction à deux variables


Ecrire un programme qui lit deux nombres au clavier et affiche son image par la fonction g définie par
g(x,y)=x²+y²+2xy+1
Exercice 8 : Transport cost
Write a program that reads the amount of the transport cost per kilometer and the distance (in kilometers)
then displays the overall transport cost. For instance, if the transport cost per kilometer is 150FCFA and the
distance is 200km then the program should display «Overall Transport Cost = 3000FCFA »

Exercice 9 : Maximum, minimum et moyenne


Ecrire un programme C qui lit trois nombes au clavier et affiche leur maximum, leur minimum et leur
moyenne.

Exercice 10 : Parité
Ecrire un programme C qui lit un nombre entier au clavier et dit s'il est pair ou impair

Exercice 11 : Mention d'un étudiant


Ecrire un programme qui lit la moyenne d'un étudiant et affiche sa mention sachant que :
(1) Si la moyenne est inférieure à 10 alors la mention est Médiocre.
(2) Si la moyenne est coprise dans l'intervalle [10 12[ alors la mention est Passable.
(3) Si la moyenne est coprise dans l'intervalle [12 14[ alors la mention est Assez Bien.
(4) Si la moyenne est coprise dans l'intervalle [14 16[ alors la mention est Bien.
(5) Si la moyenne est coprise dans l'intervalle [16 18[ alors la mention est Très Bien.
(5) Si la moyenne est coprise dans l'intervalle [18 20] alors la mention est Excellent.

Exercice 12 :Annee bissextile


Si l’année A n’est pas divisible par 4, alors elle n’est pas bissextile Si A est divisible par 4, l’ann ee est
bissextile sauf si A est divisible par 100 et pas par 400.
Exemples :
– 1901 n’est pas bissextile car non divisible par 4
– 2004 est bissextile car divisible par 4 et pas par 100
– 2100 n’est pas bissextile car divisible par 4, divisible par 100 mais pas par 400
– 2000 est bissextile car divisible par 4, par 100 et par 400

Ecrire un programme qui lit une année au clavier et dit si elle est bissextile ou non.

Exercice 13 : En toute lettre


Ecrire un programme qui demande à l’utilisateur de taper un chiffre et qui l'écrit ensuite en toute lettre à l’
ecran. 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].

Exercice 14 : Echelle de Richter


L’ echelle de Richter permet de d ecrire la magnitude des tremblements de terre :

1 Micro tremblement de terre, non ressenti


2 Très mineur. non ressenti mais d etect e
3 Mineur. causant rarement des dommages
4 Leger. Secousses notables d’objets à l’intérieur des maisons
5 Modéré. Legers dommages aux edifices bien construits
6 Fort. Destructeur dans des zones allant jusqu'à 180 kilomètres à la ronde si elles sont peuplées
7 Majeur. Dommages modérés à sévères dans des zones plus vastes.
8 Important. Dommages serieux dans des zones à des centaines de kilomètres à la ronde
9 Dévastateur.Dévaste des zones sur des milliers de kilomètres à la ronde
Si le nombre n’est pas compris entre 1 et 9 c’est qu’il y a erreur de saisie (si inférieur à 1) ou que c’est
l’appocalypse (si supérieur à 9). Vous écrirez un programme permettant à l’utilisateur de saisir une valeur
d’ echelle et qui en réponse affichera à l’ ecran la description associée à ce nombre. Vous n’oublierez pas
de gérer le cas où le nombre tapé par l’utilisateur est ”hors-echelle”.

Exercice 15 : Echange de valeurs


On suppose que deux variables a et b de type int sont d eclar ees et affect ees. Ecrire une suite
d’instructions qui permet d’ echanger le contenu de a et de b

Exercice 16 : Equation du premier degré


Ecrire un programme qui resout l'équation ax + b=0 où a et b sont des paramètres et x l'inconnu.
Les cas suivants sont à considerer :
(A) si a = b =0, il y a une infinit e de solutions ;
(B) si a = 0 et b <> 0, il n’y a pas de solution ;
(C) si a<> 0, il n’y a qu'une solution ;

Exercice 17 : Equation du deuxième degré


Ecrire un programme qui trois nombres a, b et c au clavier et resout l'équation ax² + bx + c=0.
Les cas suivants sont à considerer :
(A) Si a = b = c = 0, il y a une infinit e de solutions ;
(B) Si a = b = 0 et c <> 0, il n’y a pas de solution ;
(C) Si a = 0 et b <> 0, il y a exactement une solution ;
(D) sinon, on calcule le discriminant ∆= b² − 4ac et,
(i) Si ∆ < 0, il n’y a pas de solution ;
(ii) Si ∆ = 0, il y a exactement une solution ;
(iii) Sinon (∆ > 0), il y a exactement deux solutions.

Exercice 18 : Calculatrice
Ecrire un programme qui se comporte comme une calculatrice. Le programme lit deux nombres a et b au
clavier, puis lit un caractère op correspondant à un opérateur arithmétique (+, -, *, /). Le programme affiche
ensuite le resulat de l'opération. Par exemple, si le programme lit successivement 14, 10 et * alors il
affichera la valeur 140. Si le programme lit successivement 14, 20 et + alors il affichera 34.

Exercice 19 : Salaire
Ecrire un programme qui lit le nombre de points d'indices d'un salarié d'une entretripse privée au clavier et
affiche son salaire. La valeur des points d'indices inférieures à 1000 et de 3000F et la valeur des points
d'indices supérieurs à 1000 et de 2500F.

Exercice 20 : Intersection de deux intervalles


Ecrire un programme qui demande à l’utilisateur de saisir 4 entiers A, B, C et D, puis qui indique quelle est
l'intersection des intervalles [A B] et [C D].
Les cas suivants sont à considerer :
(1) Si max(A,C) == min(B,D), l'intersection est la valeur max(A,C) min(B,D)
(2) Si max(A,C) < min(B,D), l'intersection est l'intervalle [max(A,C) min(B,D)]
(3) Si max(A,C) > min(B,D), l'intersection est vide.

Questions de Cours :
(1) Quel est le type de chacune des constantes suivantes : '1', ''1'', 1, ''1234'', ''jean''
(2) Quelle est la différence syntaxique entre une constante caractère (char) et une constante chaîne de
caractères ? L' ériture 'jean' est elle correcte ?
(3) Quelle est la différence sémantique entre ++i et i++ ? Donner les valeurs de x, y, z et i après
l'exécution du bout de code suivant : « i=4 ; x=4 + ++i ; y=4 + i++ ; z=++i + i++ »

Vous aimerez peut-être aussi