Académique Documents
Professionnel Documents
Culture Documents
Langage C
Aicha Ben Jrad
Section : 1ère année EEA
A.U 2021/2022
Introduction
Définition:
La compilation est un traitement qui permet de transformer
un code source en un code binaire, de manière à obtenir un
fichier exécutable à partir d'un fichier source.
5
Exemples de compilateurs ...
6
Structure générale d'un programme C
7
Structure générale d'un programme C
<Directives de pré-compilation>
<Déclarations de variables> Partie de déclarations
<Déclaration des sous-programmes>
…
int main(int argc, char** argv)
{
<Déclarations de variables locales>
Instruction_1 ;
Partie traitement
Instruction_2 ;
…
}
8 …
Lisibilité d'un programme
❑ Lisibilité du programme : propriété d'un programme à être
facilement compris par une personne qui ne l'a pas forcément
écrit.
Une bonne lisibilité favorise la maintenabilité
❑ Commentaire : un texte exprimé en langage naturel (par exemple
en français ou en anglais) et dont le but est d'expliquer le
fonctionnement du programme à un programmeur.
➢ Commentaire ligne : // ceci est un commentaire
➢ Commentaire bloc : commence par /* et se termine par */
❑ Indentation : décalage introduit en début de ligne pour aligner
horizontalement certaines lignes du code source.
9
Directives de pré-compilation
Exemple :
#include <stdio.h>
int main ()
{
int i ; /* déclare une variable i de type entier */
char c ; /* déclare une variable c de type caractère */
Return 0 ;
11
}
Variables
12
Types de données
Type entiers du C:
Nombre de valeurs Intervalle de
Type Description Octets Modificateur
possibles définition
unsigned [0, 28]
char charactère 1 28 = 256
signed [-27, 27-1]
unsigned [0, 216]
short Entier court 2 22x8 = 65 536
signed [-215, 215 - 1]
unsigned [0, 232]
int Entier 4 24x8 = 4294967296
signed [-231, 231 - 1]
unsigned [0, 232]
long Entier long 4 24x8 = 4294967296
signed [-231, 231 - 1]
Type réels du C:
Partie entière Partie décimale
Type Description Octets
(p) (q)
float Flottant 4 23 bits 8 bits
double Flottant double précision 8 52 bits 11 bits
long double Flottant quadruple précision 10 64 bits 15 bits
14
Caractères
15
Caractères
16
Caractères
\n retour à la ligne
\t tabulation horizontale
\b retour arrière
\r retour chariot
17
Constantes
❑ Une variable peut être déclarée comme une constante, i.e., elle
garde la même valeur pendant toute la durée du programme
Affectation:
❑ En C, l'affectation est un opérateur à part entière. Elle est
symbolisée par le signe '='.
✓ Identificateur
✓ Constante
Syntaxe : variable = expression
✓ Expression arithmétique
✓ Expression logique
❑ Le terme de gauche peut être une variable simple ou un élément
d'un tableau;
❑ Conversion de type implicite;
20
Opérateurs
Opérateurs arithmétiques :
Les opérateurs arithmétiques classiques sont l'opérateur
unaire (-) (changement de signe) et les opérateurs binaires :
+ addition
- soustraction
* multiplication
/ division
% reste de la division (modulo)
21
Opérateurs
Opérateurs de comparaison :
> strictement supérieur
>= supérieur ou égal Syntaxe :
< strictement inférieur
expression1 <op> expression2
<= inférieur ou égal
== égal
!= différent
Opérateurs logiques :
&& et logique
|| ou logique
! négation logique
Syntaxe :
expression1 <op1> expression2 <op2> … expressionN
23
Opérateurs
Syntaxe :
expression1 <op>= expression2
équivalent à
24
Opérateurs
Opérateur adresse :
L'opérateur d'adresse & appliqué à une variable retourne
l'adresse mémoire de cette variable.
Syntaxe :
&<nom_variable>
27
Les fonctions d'entrée/sortie classique
#include <stdio.h>
28
Les fonctions d'entrée/sortie classique
Fonctions d'écriture :
❑ Fonction printf : une fonction d'impression formatée;
Syntaxe :
printf("<format>",<expr1>, ..., <exprN>);
Où <format> = le texte à afficher + les spécifications de format
correspondant à chaque expression, e.g., %d pour un entier.
Fonctions de lecture :
❑ Fonction scanf : permet de saisir des données au clavier et de les
stocker aux adresses spécifiées par les arguments de la fonctions;
Syntaxe :
scanf("<format>", <arg1>, ...,<argN>);
Où <format> = format dans lequel les données lues sont converties, e.g.,
%d pour la lecture d'un entier.
❑ Fonction getchar : cette fonction permet de lire un caractère depuis
l'entrée standard. Elle retourne la constante EOF en cas d'erreur;
Syntaxe : <nom_variable> = getchar() ;
30
Les fonctions d'entrée/sortie classique