Tout ordinateur peut effectuer un certain nombre d'opérations. Toutes ces opérations correspondent à un code bien particulier, qui peut être différent selon le type d'ordinateur. L'ensemble de ces codes forme ce que l'on appelle le langage machine.
L'écriture de programmes en langage machine n'étant pas très aisée, des langages de programmation évolués ont été développés. Il est alors nécessaire de traduire en langage machine les programmes écrits dans ces langages évolués. On dispose ainsi de traducteurs capables d'effectuer cette transformation. Il existe deux types de traducteurs : les compilateurs et les interprèteurs.
Un compilateur traduit tout le programme en une seule fois. Il en résulte alors un programme en langage machine que l'on peut exécuter ultérieurement.
Un interprèteur traduit le programme ligne par ligne. Lorsque la traduction d'une ligne est terminée, il l'exécute immédiatement et passe à la traduction de la ligne suivante. L'exécuion générale du programme est plus lente que par rapport à un code intégralement compilé.
Un programme écrit dans un langage de programmation est appelé programme source. La traduction par un compilateur est aussi désignée sous le terme de compilation.
Chaque langage a sa syntaxe et des caractéristiques qui lui sont propres.
Le préprocesseur est un programme qui est appelé par le compilateur avant exécution de la compilation.
Il traite le programme source : il inclut des fichiers, entre à la place des macros le détail des commandes, etc. En somme, le programme grossit au fur et à mesure de son traitement par le préprocesseur puisque celui-ci doit effectuer toutes les opérations qui sont résumées dans les directives.
Toutes les directives qui sont directement liées au préprocesseur sont précédées du signe #.
Exemple:
#include <stdio.h>
#define CONSTANTE
12
#define ANNEE
1996
Le but général d'un programme est de traiter un certain nombre de données et de produire des résultats.
Les données sont fournies au programme via des instructions d'entrée et les résultats sont répercutés vers le monde extérieur via des instructions de sortie.
Ces instructions d'entrée/sortie ou I/O (Input/Output) transmettent donc des informations entre la mémoire de l'ordinateur et un support extérieur. Ce support peut être dans le cas d'une instruction d'entrée :
Et, dans le cas d'une instruction de sortie :
Il doit séparer toutes les instructions.
Exemples:
int n;
int tab[4][5];
float PI;
printf("bonjour");
scanf("%d",&val);
Elle sépare une liste d'éléments.
Exemples:
int m,n,p;
char lettre_1,lettre_2;
printf("%d %d",
a, b);
Elles sont utilisées dans certaines expressions, pour déterminer l'ordre dans lequel les opérations doivent s'effectuer.
Elles peuvent aussi encadrer une liste de paramètres pour des instructions d'entrée/sortie ou pour des fonctions.
Exemples:
n=(m+1)*2;
printf("bonjour");
scanf("%d",&val);
Elle est utilisée pour entourer un caractère unique.
Exemples:
char lettre='A';
char unite='m';
case 'E':
Ils sont utilisés pour délimiter une chaîne de caractères.
Exemple:
#define PHRASE "ceci
est une chaine de caracteres"
printf ("coucou");
Elles déterminent des blocs d'instructions et notamment le bloc principal.
Exemple:
#include <stdio.h>
main()
{
int val_1,val_2;
val_1=10;
val_2=18;
if(val_1<val_2)
{
printf("le nombre le plus petit=%d",val_1);
printf("\nle nombre le plus grand=%d",val_2);
}
}
Il est utilisé pour séparer la partie entière de la partie décimale d'un nombre réel.
Il est utilisé pour faire référence à un champ d'une variable struturée.
Exemples:
float PI=3.1416;
date.heure=16;
date.minutes=47;
date.secondes=30;
Ils entourent l'indice d'une variable dimensionnée (les tableaux).
Exemples :
vecteur[1]=10;
tab[1][3]=5;
32 |
|
48 |
0 |
64 |
@ |
80 |
P |
96 |
` |
112 |
p |
33 |
! |
49 |
1 |
65 |
A |
81 |
Q |
97 |
a |
113 |
q |
34 |
" |
50 |
2 |
66 |
B |
82 |
R |
98 |
b |
114 |
r |
35 |
# |
51 |
3 |
67 |
C |
83 |
S |
99 |
c |
115 |
s |
36 |
$ |
52 |
4 |
68 |
D |
84 |
T |
100 |
d |
116 |
t |
37 |
% |
53 |
5 |
69 |
E |
85 |
U |
101 |
e |
117 |
u |
38 |
& |
54 |
6 |
70 |
F |
86 |
V |
102 |
f |
118 |
v |
39 |
' |
55 |
7 |
71 |
G |
87 |
W |
103 |
g |
119 |
w |
40 |
( |
56 |
8 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
41 |
) |
57 |
9 |
73 |
I |
89 |
Y |
105 |
i |
121 |
y |
42 |
* |
58 |
: |
74 |
J |
90 |
Z |
106 |
j |
122 |
z |
43 |
+ |
59 |
; |
75 |
K |
91 |
[ |
107 |
k |
123 |
} |
44 |
, |
60 |
< |
76 |
L |
92 |
\ |
108 |
l |
124 |
| |
45 |
- |
61 |
= |
77 |
M |
93 |
] |
109 |
m |
125 |
} |
46 |
. |
62 |
> |
78 |
N |
94 |
^ |
110 |
n |
126 |
~ |
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |