Post on 04-Apr-2015
PHAN Thúc Hào Créé le 02 Octobre 2006
Code source en langage C++# include <iostream># include <conio.h>Void main ( ) { puts (" Bonjour…..! " ); }
Processus de compilation
d'un programme
Traduction en code binaire010001111001100011101010001000111110110001100110111000011100010111001001011010100111100011010101
Fichier source.cpp Compilateur Fichier objet.obj
HàoProgrammeC & C++
PHAN Thúc Hào Créé le 02 Octobre 2006
Processus détaillé de compilation d'un programme
Fichier « src.c » Fichier « Stdio.h »
Pré-processeur
Fichier.c
Compilateur de code objet
Fichier.obj Bibliothèque standard
Éditeur de liens
Programme
PHAN Thúc Hào Créé le 02 Octobre 2006
Qu'est-ce que le code ASCII ?
La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique : c'est le code ASCII
( American Standard Code for Information Interchange )
PHAN Thúc Hào Créé le 02 Octobre 2006
Caractères non imprimables Caractères imprimables
ctrldec
hexa char Nom dec hexa char dec hexa char dec hexa char
ctrl-@
ctrl-A
ctrl-B
ctrl-C
ctrl-D
ctrl-E
ctrl-F
ctrl-G
ctrl-H
ctrl-I
ctrl-J
ctrl-K
ctrl-L
ctrl-M
ctrl-N
ctrl-O
ctrl-P
ctrl-Q
ctrl-R
ctrl-S
ctrl-T
ctrl-U
ctrl-V
ctrl-W
ctrl-X
ctrl-Y
ctrl-Z
ctrl-[
ctrl-\
ctrl-]
ctrl-^
ctrl-_
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
null
start of heading
start of text
end of text
end of xmit
enquiry
acknowledge
bell
backspace
horizontal tab
line feed
vertical tab
form feed
carriage feed
shift out
shift in
data line escape
dev.cntrl.1
dev.cntrl.2
dev.cntrl.3
dev.cntrl.4
neg acknowledge
sync.idel
end of xmit block
cancel
end of medium
substitute
escape
file separator
group separator
record separator
unit separator
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
Space
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DELPHAN Thúc Hào Créé le 02 Octobre 2006
Les librairies des fonctions standards
<stdio.h> <signal.h> <assert.h><stdlib.h> <time.h> <ctype.h> <string.h> <locale.h> <stddef.h> <math.h> <setjmp.h> <errno.h> <float.h> <signal.h> <wchar.h><limits.h> <wctype.h> <longjump.h><stdarg.h> <conio.h> etc.……..
Les fichiers d'en-tête (extension .h)
PHAN Thúc Hào Créé le 02 Octobre 2006
Priorité des opérateurs ( ) [ ]
Incrémentation, décrémentation
-- ++ ! ~ -
Arithmétique* / %
+ -
Comparaison< <= >= >
== !=
Les opérateurs bit-à-bit
&
^
|
Logiques (booléens) && || !
? :
Les opérateurs d'assignation
= += -= *= /= %= <<= >>= >>>= &= ^= |=
,
PHAN Thúc Hào Créé le 02 Octobre 2006
Séquences Description
\n nouvelle ligne
\t tabulation horizontale
\v tabulation verticale
\b retour arrière
\f saut de page
\r retour chariot
\" guillemets
\’ apostrophe
\\ anti-slash
\0 NUL
\a signal d'alerte ( bell )
PHAN Thúc Hào Créé le 02 Octobre 2006
Tableau : Séquences spéciales dans un scanf.
Séquence interprétation de la saisie type de l'argument
%c un caractère seul char *
%s une chaîne de caractère char *
%d un entier en décimal int *
%o un entier en octal (précédé d'un 0) int *
%x un entier en héxa (précédé de 0x) int *
%u un entier non signé décimal unsigned int *
%f un réel float *
%e un réel float *
%g un réel float *
PHAN Thúc Hào Créé le 02 Octobre 2006
Tableau : Séquences spéciales dans un printf.
Voici les différents formats :
Séquence l'argument remplaçant la séquence doit être
%c un caractère seul
%s une chaîne de caractère
%d un entier (affiché en décimal)
%o un entier (affiché en octal)
%x un entier (affiché en hexadécimal)
%u un entier non signé (affiché en décimal)
%f un réel (affiché normalement)
%e un réel (affiché en notation exponentielle)
%g un réel (au mieux entre f et e)
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Mon premier programme, Hào : TP1.1 */
#include <stdio.h> // bibliothèque d'entrées / sorties standards
int main()// la fonction principale
{
printf(" Voici un petit programme en C "); //Affiche du texte
return 0;
}
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Mon premier programme, Hào : TP1.2 */
#include <stdio.h> // Ajoute les fonctions des entrées / sorties standards
#include <conio.h> // fonction “getch”
int main()// la fonction principale
{
printf("Voici un petit programme en C\n ");
puts("pour sortir ,appuyez une touche");
getch(); // Attente d'une saisie clavier
return 0;
} PHAN Thúc Hào Créé le 02 Octobre 2006
/* Mon premier programme, Hào : TP1.3 */
#include <stdio.h>// Ajoute les fonctions des entrées / sorties standards
#include <conio.h>// fonction “getch”
int main()// la fonction principale
{
char c; //déclaration de variable
do{
printf("Voici un petit programme en C ");
do
{
printf("\n\n\nUne autre saisie...(o/n)?");
c=getchar();
}while(c!='o'&&c!='O'&&c!='n'&&c!='N');// « != »signifie différent ou égale
fflush (stdin);// vider le tampon de lecture scanf
}while(c!='n'&&c!='N');
puts("pour sortir ,appuyez une touche");
getch(); // Attente d'une saisie clavier
return 0;
}
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 1 : Conversion de Conversion de différents formats différents formats */
#include <stdio.h>
#include<conio.h>
main ()
{
int i; // Déclaration d'un entier
printf("Entrez une valeur decimale : ");
scanf("%d",&i);
printf("Ici, i=%d\nConv en octal= %o\nConv en hexa = %x\n", i, i, i);
getch();
} PHAN Thúc Hào Créé le 02 Octobre 2006
Début
Comment allez-vous ?
réponse
Fin
Content Désolé
bien
mal
Prog 2
Lecture de réponse
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 2 : Formule de politessepolitesse */
Début
int response;
écrire "Comment allez-vous ? 1 = Bien , 2 = mal "
lire response
Si response = 1
écrire "Je suis vraiment ravi !!!"
Si non
écrire "Oh, je suis desole."
Fin PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 2.1 : Formule de politesseFormule de politesse */
#include<stdio.h>
#include <conio.h>
int main(){
int response; //déclaration de variable locale
printf("Comment allez-vous ? 1 = Bien , 2 = mal : ");
scanf("%d",&response);
if (response == 1)
{
printf("Je suis vraiment ravi !!!");
}
else printf("Oh, je suis desole.");
getch();}
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 2.2 : Formule de politesseFormule de politesse */
#include<stdio.h>
#include <conio.h>
int main()
{
int response;
printf(" \n\n\t\t\tComment allez-vous ?\n\n\t\t\t1 = Bien , 2 = mal : ");
scanf("%d",&response);
if (response == 1)
{
printf("\n\n\t\t\tJe suis vraiment ravi !!!\n\n");
}
else printf("\n\n\t\t\tOh, je suis desole.\n\n");
puts("\n \t\t\tPour sortir, appuyez une touche");
getch();
} PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 2.3 : Formule de politesse */
#include<stdio.h>
#include <conio.h>
int main()
{
int response;
char c;
do{
printf("\nComment allez-vous ?\n\n1 = Bien , 2 = mal : ");
scanf("%d",&response);
if (response == 1)
{
printf("\n\nJe suis vraiment ravi !!!\n");
}
else printf("\n\nOh, je suis desole.\n");
fflush (stdin);// vider le tampon de lecture scanf
do{
printf("\nUne autre saisie...(o/n)?");
c=getchar();
}while(c!='o'&&c!='O'&&c!='n'&&c!='N');
printf("\n");//saut ligne
}while(c!='n'&&c!='N');
puts("\nPour sortir, appuyez une touche");
getch();
}PHAN Thúc Hào Créé le 02 Octobre 2006
PHAN Thúc Hào Créé le 02 Octobre 2006
Début
Écriture : francs
Fin
Résultat en euros
lecture : francs
euros = francs /6.55975
Prog 3.1
PHAN Thúc Hào Créé le 02 Octobre 2006
Début
flottant francs, euros
écrire "Entrez une valeur en francs "
lire francs
euros = francs /6.55975
écrire " résultat en euros "
Fin
Prog 3.1
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 3.1 : Ce programme permet de Convertir en francs / euros */
#include <stdio.h>
#include <iostream> //entrées sorties en C++ ( system("PAUSE")
int main()
{
float francs, euros; //déclaration de variables
printf("\n\tEntrez une valeur en francs : ");
scanf("%f",&francs);
euros = francs/6.55975;
// affiche le résultat avec arrondi a deux décimales(%.2f )
printf("\n\tLe resultat de conversion : %.2f euros\n\n", euros);
system("PAUSE");
return 0;
}
PHAN Thúc Hào Créé le 02 Octobre 2006
PHAN Thúc Hào Créé le 02 Octobre 2006
Début
Écriture : euros
Fin
Résultat en francs
lecture : euros
francs = euros*6.55975
Prog 3.2
PHAN Thúc Hào Créé le 02 Octobre 2006
Début
flottant francs, euros
écrire "Entrez une valeur en euros "
lire euros
francs = euros *6.55975
écrire " résultat en francs "
Fin
Prog 3.2
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 3.2 : Ce programme permet de Convertir en euros / francs */
#include <iostream> //entrées sorties en C++ ( system("PAUSE")
#include <stdio.h>
int main()
{
float francs, euros;
printf("\n\tEntrez une valeur en euros : ");
scanf("%f",&euros);
francs = euros*6.55975;
printf("\n\tAffichage avec arrondi a deux decimales : %.2f francs \n\n", francs);
system("PAUSE");
return 0;
}
PHAN Thúc Hào Créé le 02 Octobre 2006
Prog 3.3
Début Fin/* Prog 3.3 : Ce programme permet de Convertir en euros / francs & francs/euros *//************ créé le 02/10/2006 par PHAN Thuc Hao ************/#include<stdio.h>#include<conio.h>/******************************************************************************/int Conv_F_E(float ,float ); /* Déclaration prototype */int Conv_E_F(float ,float ); /* Déclaration prototype *//******************************************************************************/int Conv_F_E(float francs,float euros){ printf("\n\tEntrez une valeur en francs : "); scanf("%f",&francs); euros = francs/6.55975; printf("\n\tLe resultat de conversion : %.2f euros\n\n", euros); return 0;} /******************************************************************************/int Conv_E_F(float euros,float francs){ printf("\n\tEntrez une valeur en euros : "); scanf("%f",&euros); francs = euros*6.55975; printf("\n\tLe resultat de conversion : %.2f francs \n\n", francs); return 0;}/******************************************************************************/
main() /* programme principal */
{
char choix; /* variable locale a main() */
float francs, euros; //déclaration de variables
char c;
printf("\tHao programme : Convertisseur francs/euros & euros/francs \n\n");
do{
printf("\nConversion francs/euros,Tapez 1\n");
printf("Conversion euros/francs, tapez 2\n");
do{
fflush(stdin);//l'emplacemnt de cette fonction est très importante
printf("\nVOTRE CHOIX : ");
scanf("%c",&choix);
switch(choix)
{
case '1':Conv_F_E(francs,euros);
break;
case '2':Conv_E_F(francs,euros);
break;
}
fflush(stdin);//l'emplacemnt de cette fonction est très importante
printf("\nUne autre saisie...(o/n)?");
c=getchar();
}while(c!='o'&&c!='O'&&c!='n'&&c!='N');
printf("\n");//saut ligne
}while(c!='n'&&c!='N');
printf("\n\nPOUR CONTINUER FRAPPER UNE TOUCHE: ");
getch();
}
PHAN Thúc Hào Créé le 02 Octobre 2006
PHAN Thúc Hào Créé le 02 Octobre 2006
/* Prog 4 : Ce programme permet d’effectuer le calcul de TVA */
#include <stdio.h>
#include <conio.h>
#define TVA 20.6 /*définir du constant TVA = 20.6 */
main(void)
{
float HT,TTC;
printf("veuillez entrer le prix HT : ");
scanf("%f",&HT);
TTC=HT*(1+(TVA/100));//(HT*1) + (HT*(20.6/100))
printf("le prix T.T.C est : %.2f\n",TTC);
getch() ;
} PHAN Thúc Hào Créé le 02 Octobre 2006
PHAN Thúc Hào Créé le 02 Octobre 2006
#include <stdio.h>
#include<conio.h> // pour la fonction getch : attente d'une saisie clavier
main(void)
{
int i,NbNotes; /* déclaration variable locale */
float note,somme=0,moyenne;
puts("\t\t\tCalcul de moyenne ( Hao )\n"); // Affiche le titre.
printf("Entrez le nombre de notes : "); /* Saisie du nombre de notes à traiter*/
scanf("%d",&NbNotes);
for(i=0;i<NbNotes;i++) // ou for(i=1;i<=NbNotes;i++) /* Entrée des notes */
{
printf("entrez la note : ");
scanf("%f",¬e);
somme+=note; // ou some=some+note
}
moyenne=somme/NbNotes;
printf("\n\nmoyenne calculee est : %.2f\n\n",moyenne);
puts("Au revoir");
getch();
}
Prog 5.1
PHAN Thúc Hào Créé le 02 Octobre 2006
// programme réalisé par Phan Thuc Hao le 02 10 2006// ce programme permet de calculer la moyenne des notes sur 20,#include <stdio.h>#include <conio.h>#define beep printf("%c",07);//( 07 : hexadécimal ou 7 : décimal )main(void){int i,NbNotes;float Notes,NoteMoyenne,SommeNotes=0; // la saisie notes est illimitée, car il n'a pas de tableau de Notes printf("\nEntrez le nombre de notes que vous desirez traiter:"); scanf("%d",&NbNotes); for (i=1;i<=NbNotes;i++ ) // saisie des notes { printf("\nVeuillez entrer la note : "); scanf("%f",& Notes); while (Notes>20) // Notes limitées à 20 maxi { beep // erreur de saisie
printf("\n Veuillez saisir une note inferieure à 20 : "); scanf("%f",&Notes); } SommeNotes = SommeNotes+Notes; // Calcul de la somme des notes } NoteMoyenne = SommeNotes/NbNotes; // Calcul de la moyenne printf("\nLa note moyenne est :%.2f", NoteMoyenne); puts("\n\na bientot") ; getch();}
Prog 5.2
PHAN Thúc Hào Créé le 02 Octobre 2006
Prog 5.3
// ce programme permet de calculer la moyenne des notes sur 20,#include <stdio.h>#include <conio.h>int main(){char c;int Boucle,NbNotes;float Notes,NoteMoyenne,SommeNotes=0;do{ printf("\nEntrez le nombre de notes que vous désirez traiter:"); scanf("%d",&NbNotes); for (Boucle=1;Boucle<=NbNotes;Boucle++ ) { printf("\nVeuillez entrer la note : "); scanf("%f",& Notes); while (Notes>20) // Notes limitées à 20 maxi { printf("\n Veuillez saisir une note inférieure à 20 : "); scanf("%f",&Notes); } SommeNotes = SommeNotes+Notes; } NoteMoyenne = SommeNotes/NbNotes; // Calcul de la moyenne printf("\nLa note moyenne est :%.2f", NoteMoyenne); fflush (stdin);// vider le tampon de lecture scanf do{ SommeNotes=0; // initialiser printf("\n\n\nUne autre saisie...(o/n)?"); c=getchar(); }while(c!='o'&&c!='O'&&c!='n'&&c!='N');}while(c!='n'&&c!='N');printf("\n\nAu revoir...!");getch();}
PHAN Thúc Hào Créé le 02 Octobre 2006
PHAN Thúc Hào Créé le 02 Octobre 2006