EST-Salé Algorithmique et langage C
Nom : ………………………..
TP 1 : initiation du langage C
Prénom : ……………………
Les fonctions de sorties (puts & printf) Classe : ………………………..
Exercice 1 : Groupe : ……………………..
Testez le programme suivant
1 #include <stdio.h>
2 #include <conio.h>
3 main()
4 {
5 printf("BONJOUR, ");
6 printf("vous êtes en train de faire un TP du langage C à EST-Salé");
7 printf("Donc, corrigez votre premier programme");
8 }
• Remarques ?
……………………………………………………………………………………………………………………..……………
• Modifiez le programme précédent par les instructions suivantes
5 printf("BONJOUR, \n");
6 printf("\t vous êtes en train de faire un TP du langage C à : \t \"EST-Salé\". \n");
7 printf("\n \n Donc, corrigez votre premier programme");
……………………………………………………………………………………………………………………..……………
……………………………………………………………………………………………………………………..……………
• Que fait les séquences d'échappement suivantes :
\n:………………………………………… \t: …………………….………………… \": ……………………………….
Exercice 2 :
• Editez, compilez et exécutez le programme suivant :
#include <stdio.h> /* bibliothèque d'entrées-sorties standard */
#include <conio.h>
main()
{
puts("BONJOUR"); /* utilisation d'une fonction-bibliothèque */
}
• Changez l’instruction « puts("BONJOUR"); » par la fonction printf. Remarque ?
……………………………………………………………………………………………………………………..……………
Type de données et Formatage
Exercice 3 :
• Testez le programme suivant :
#include <stdio.h>
main()
{
int a; /* Déclaration de la variable a comme entier */
a =15; /* affectation de 15 à la variable a */
printf("La valeur de a est : %i \n",a); /* Affichage de la valeur de a */
}
• Remplacez %i par %d. Remarques ?
……………………………………………………………………………………………………………………..……………
Professeur : Halima HOUSNY 1
EST-Salé Algorithmique et langage C
Exercice 4 :
• Ecrivez le programme suivant :
#include <stdio.h>
main()
{
int i=2; float x;
x = 5/i;
}
• Ajoutez l’instruction qui affiche la valeur de x à l’écran :
……………………………………………………………………………………………………………
• Exécutez le programme. Résultat :
……………………………………………………………………………………………………………
• Le résultat obtenu est -il normal ?
……………………………………………………………………………………………………………
• Changez l’instruction « x=5/i » dans votre programme par les instructions suivantes et donnez le
résultat affiché :
• x = 5.0/i; Résultat :
……………………………………………………………………………………………………………
• x = 5./i; Résultat :
……………………………………………………………………………………………………………
• x = 5/(float)i; Résultat :
……………………………………………………………………………………………………………
Exercice 5 :
• Testez le programme suivant :
#include <stdio.h>
main() {
char c,d;
c =66; /* c est le caractère alphanumérique B */
d ='A'; /* d est le caractère alphanumérique A */
printf("c=%d , d=%d \n",c,d); /* affichage du code ASCII en décimal */
printf("c=%o , d=%o \n",c,d); /* affichage du code ASCII en base huit */
printf("c=%x , d=%x \n",c,d); /* affichage du code ASCII en hexadécimal */
printf("c=%c , d=%c \n",c,d); /* affichage du caractère */
}
• A partir des résultats précédents, complétez le type d'affichage de chaque indicateur de
conversion :
%d affichage en ………………… %c affichage en …………………
%x affichage en ………………… %f affichage en…………………
%o affichage en ………………… %i affichage en…………………
Professeur : Halima HOUSNY 2
EST-Salé Algorithmique et langage C
Les opérateurs
Exercice 6 :
• Testez le programme suivant :
/* Decomposer une somme d’argent en monnaies de 1, 2, 5 et 10 Dh */
#include<stdio.h>
main() {
int somme, p10, p5, p2, p1,reste;
somme=356;
p10 = somme / 10;
printf ("Le résultat de la division de %i par 10 est : %i \n",somme,p10);
reste = somme % 10;
printf ("Le reste de la division de %i par 10 est : %i \n ",somme,reste);
p5 = reste / 5;
printf ("Le résultat de la division de %i par 5 est : %i \n ",reste,p5);
printf ("Le reste de la division de %i par 5 est :",reste);
reste = reste % 5;
printf ("%i \n ",reste);
p2 = reste / 2;
printf ("Le résultat de la division de %i par 2 est : %i \n ",reste,p2);
printf ("Le reste de la division de %i par 2 est :",reste);
reste = reste % 2;
printf ("%i \n ",reste);
p1 = reste;
printf("la somme %i contient : \n \t %i pcs de 10Dh, \n \t %i pcs de 5Dh, \n \t %i pcs de
2Dh \n \t et %i pcs de 1 Dh",somme, p10, p5,p2, p1);
}
• A quoi sert l'opérateur % : ……………………………………………………
• A quoi sert l'opérateur / : ……………………………………………………
Exercice 7 :
a et b sont des entiers, a = -21430, b = 4782. Ecrire le programme C qui permet de calculer et afficher
a+b, a-b, a*b, a/b, a%b en format décimal.
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………
Professeur : Halima HOUSNY 3
EST-Salé Algorithmique et langage C
Déclaration des constantes
Exercice 8 :
• Testez le programme suivant :
1 #include<stdio.h>
2 main() {
3 const float PI = 3.14159;
4 float perimetre,rayon = 8.7;
5 perimetre = 2*rayon*PI;
6 printf("le périmètre du cercle dont le rayon r= %f , est :%f\n",rayon,perimetre); }
• Ajoutez l'instruction suivante entre les lignes 4 et 5 :
rayon = 2.88;
Remarques ? ……………………………………………………………………..
• Ajoutez l'instruction suivante entre les lignes 4 et 5 :
PI = 3.1;
Remarques ? ……………………………………………………………………..
Les fonctions d’entrée (getch &scanf )
Exercice 9 :
• Complétez et testez le programme suivant :
char alpha; int i,j; float r;
scanf("%c",&alpha); /* saisie d'un caractère */
scanf("%d",&i); /* saisie d'un entier en décimal */
scanf("%x",&j); /* saisie d'un entier en hexadécimal */
scanf("%f",&r); /* saisie d'un réel */
• Ajoutez au programme les instructions qui :
➢ Invitent l’utilisateur à entrer les variables alpha, i, j et r
……………………………………………………………………..………………………………………………………………
……..……………………………………………………………………..………………………………………………………
……………..……………………………………………………………………..………………………………………………
……………………..……………………………………………………………………..………………………………………
➢ Affichent ce qui a été entré par l’utilisateur selon l'exemple suivant :
Vous avez entré le caractère m l'entier 65 l'entier en hexadécimal A5 et le réel 45.9
……………………………..……………………………………………………………………..………………………………
……………………………………..……………………………………………………………………..………………………
• Remplacez l'instruction scanf("%c",&alpha); par alpha = getch();. Remarque? " La fonction
getch appartenant à la bibliothèque « conio.h "
……………………………..……………………………………………………………………..………………………………
Exercice 10 :
Modifiez le programme de l'exercice 7 en invitant l'utilisateur à entrer a et b.
Exercice 11 :
Écrivez deux programmes C qui affichent la résistance équivalente à trois résistances R1, R2, R3 entrées
par l’utilisateur dans les deux cas suivants :
• Si les résistances sont branchées en série : RSerie = R1+R2+R3
𝑅 𝑅 𝑅3
• Si les résistances sont branchées en parallèle : RParallele=𝑅 𝑅 +𝑅1 𝑅2 +𝑅
1 2 1 3 2 𝑅3
Professeur : Halima HOUSNY 4