Exercice 1
Modifiez le programme 'hello world' de façon à obtenir le même résultat sur l'écran en utilisant plusieurs fois la
fonction printf.
Exercice 2
Expérimentez avec les séquences d'échappement que vous trouvez dans le tableau ci-dessous et complétez les
colonnes vides.
Exercice 3
Ci-dessous, vous trouvez un simple programme en C. Essayez de distinguer et de classifier autant que possible
les éléments qui composent ce programme (commentaires, variables, déclarations, instructions, etc.)
1
2
3 #include <stdio.h>
4 /* Ce programme calcule la somme de 4 nombres entiers
5 introduits au clavier.
6 */
7 main()
8 {
9 int NOMBRE, SOMME, COMPTEUR;
10
11 /* Initialisation des variables */
12 SOMME = 0;
13 COMPTEUR = 0;
14 /* Lecture des données */
15 while (COMPTEUR < 4)
16 {
17 /* Lire la valeur du nombre suivant */
18 printf("Entrez un nombre entier :");
19 scanf("%i", &NOMBRE);
20 /* Ajouter le nombre au résultat */
21 SOMME += NOMBRE;
22 /* Incrémenter le compteur */
23 COMPTEUR++;
24 }
25 /* Impression du résultat */
26 printf("La somme est: %i \n", SOMME);
return 0;
}
- Fonction main
n'a pas de paramètres (la liste des paramètres est vide) et fournit par défaut un
résultat du type int (à l'environnement).
- Variables utilisées:
- Fonctions utilisées:
printf, scanf de la bibliothèque <stdio>.
- Opérateurs:
+=
- L'instruction return 0;
Ajoutes :
le format de saisie de la donnée (ici: "%i" pour lire un entier du type int)
le premier paramètre est une chaîne de caractères, qui peut contenir une
information pour le format d'affichage des variables indiquées dans la suite (ici:
"%i" pour afficher la valeur du type int contenue dans SOMME).
les paramètres qui suivent la chaîne de caractères indiquent les noms des variables
à afficher. (ici: SOMME)
1
2 #include <stdio.h>
3 /* Notre premier programme en C */
4 main()
5 {
6 printf("hello, ");
7 printf("world");
8 printf("\n");
9 return 0;
10 }
séq. d'échapp.
descr. anglaise descr. française
\n new line passage à la ligne
\t tabulator tabulation
\b back curseur arrière
\r return retour au début de la ligne
\" quotation marks guillemets
\\ back-slash trait oblique
\0 NUL fin de chaîne
\a attention (bell) signal acoustique
Quel(s) type(s) numérique(s) pouvez-vous utiliser pour les groupes de nombres suivants? Dressez un tableau et
marquez le choix le plus économique:
(1) 1 12 4 0 -125
(2) 1 12 -4 0 250
(3) 1 12 4 0 250
(4) 1 12 -4 0.5 125
(5) -220 32000 0
(6) -3000005.000000001
(7) 410 50000 2
(8) 410 50000 -2
(9) 3.14159265 1015
(10) 2*107 10000001
(11) 2*10-7 10000001
(12) -1.05*1050 0.0001
(13) 305.122212 0 -12
unsigned
signed
No: char short int long char short int long float double long double
1 !X! X X X X X X
2 !X! !X! X X X X
3 X X X !X! X X X X X X
4 !X! X X
5 !X! !X! X X X X
6 !X!
7 X !X! !X! X X X X
8 !X! X X X
9 !X! X
10 !X! X X X
11 !X! X
12 !X! X
13 !X! X
X choix possible
!X! meilleur choix
Traduisez les déclarations suivantes en C, sachant que vous travaillerez dans les ensembles de nombres
indiqués. Choisissez les types les plus économiques, sans perdre en précision.
{vrai, faux}
Solution:
entier COMPTEUR {0 ,..., 300}
(1)
int COMPTEUR;
(2) entier X,Y {-120 ,..., 100}
char X,Y;
int MESURE;
int N1;
int N2;
long N3;
Exercice 4.2
En vous référant aux exemples du chapitre 4.2, écrivez un programme qui lit la date du clavier et écrit les
données ainsi que le nombre de données correctement reçues sur l'écran.
Exemple:
Introduisez la date (jour mois année): 11 11 1991
données reçues : 3
jour : 11
mois : 11
année : 1991
* Testez les réactions du programme à vos entrées. Essayez d'introduire des nombres de différents formats et
différentes grandeurs.
* Changez la partie format du programme de façon à séparer les différentes données par le symbole '-' .
#include <stdio.h>
main()
{
int JOUR, MOIS, ANNEE, RECU;
printf("Introduisez la date (JOUR, MOIS, ANNéE) : ");
RECU=scanf("%i %i %i", &JOUR, &MOIS, &ANNEE);
printf("\ndonnées reçues : %i\njour : %i\nmois :
%i\nannee : %i\n", RECU, JOUR, MOIS, ANNEE);
return 0;
}
Changez la partie format du programme de façon à séparer les différentes données par le symbole '-'.
. . .
RECU=scanf("%i-%i-%i", &JOUR, &MOIS, &ANNEE);
. . .
Exercice langage C lecture d'un caractère
Exercice 4.3
Ecrire un programme qui lit un caractère au clavier et affiche le caractère ainsi que son code numérique:
#include <stdio.h>
#include <conio.h>
main()
{
int C;
printf("Introduire un caractère \n");
C = getch();
printf("Le caractère %c a le code ASCII %d\n", C, C);
return 0;
}