CONCEPTS DE BASE DU
LANGAGE C
Réalisée par : Mme N. EL-GHARDOUF
Année universitaire: 2022-2023
STRUCTURE D'UN PROGRAMME EN C
En 1970, Dennis RITCHIE a créé le langage C, un langage de haut niveau, pour écrire le système
d'exploitation Unix. La conception de ce langage a été régie par les pré requis suivants :
✓ la souplesse
✓ la fiabilité
✓ la portabilité
✓ les possibilités de l'assembleur
Exemple:
STRUCTURE GENERALE D'UN PROGRAMME EN C
Un programme en C se présente en général sous la forme suivante :
Un programme en C doit contenir au moins le programme principal (la partie main).
1. LES DIRECTIVES DE COMPILATION
Nous en citons les directives include et define:
Exemple:
2. LES COMMENTAIRES
Un commentaire est un texte placé entre les signes /* et */. Il permet de commenter une ou
plusieurs lignes de commandes en vue d'éclairer le lecteur.
Exemple:
3. LES VARIABLES ET LES CONSTANTES
3.1. DECLARATION DE VARIABLES
A toute variable utilisée dans un programme C doivent être associés d'abord (avant toute
utilisation) un nom dit identificateur et un type de données (entier, réel ou caractère…).
Lors de l'exécution, une zone mémoire (dont la taille dépend du type) sera réservée pour
contenir la variable.
Exemple:
❖Identificateurs
L'emploi des identificateurs doit répondre à un certain nombre d'exigences :
❑ un identificateur doit être composé indifféremment de lettres et chiffres ainsi que du caractère de
soulignement ( _ ) qui peut remplacer des espaces.
❑ Un identificateur doit commencer par une lettre ou le caractère de soulignement. Néanmoins, celui-ci est
souvent utilisé pour désigner des variables du système.
❑ Seuls les 32 premiers caractères (parfois, uniquement les 8 premiers) sont significatifs (pris en compte par
le compilateur).
❑ Majuscules et minuscules donnent lieu à des identificateurs différents.
❑ Un identificateur ne doit pas être un mot réservé (utilisé dans le langage C comme int, char, … ).
❖ Types de données
Un type est un ensemble de valeurs que peut prendre une variable. Il y a des types prédéfinis et des types qui
peuvent être définis par le programmeur.
❖fonctions prédéfinies sur les types simples
Des fonctions appliquées au différents
types de données sont prédéfinies dans
des fichiers de bibliothèque C.
3.2. DECLARATION DE CONSTANTES
Une constante est une donnée dont la valeur ne varie pas lors de l'exécution du programme. Elle doit
être déclarée sous forme :
Une valeur constante peut, également, être exprimée au moyen d’un identificateur défini en utilisant la
directive define:
#define Identificateur Valeur
Exemple:
3.3. INITIALISATION DE VARIABLES
Une valeur initiale peut être affectée à une variable dès la déclaration sous forme :
4. L’AFFECTATION
L'affectation est l'opération qui
attribue à une variable, au moyen de
l'opérateur = , une valeur constante
ou résultat d'une expression.
Traduction de l’affectation
5. LES ENTREES/SORTIES
5.1. L’AFFICHAGE
L’instruction printf permet d'obtenir un affichage formaté à l'écran.
5.2. LA LECTURE
L’instruction scanf effectue la
lecture des variables.
Liste de format d’affichage
6. LES OPERATURS
6.1. LES OPERATEURS ARITHMETIQUES
Les opérateurs arithmétiques traditionnels sont :
✓ L'opérateur / effectue, en fonction du type des opérandes, une division entière (euclidienne) ou
réelle.
✓ L'ordre des priorités des opérateurs est important.
✓ Il est possible de forcer la conversion du type d'une variable ou d'une expression en les
préfixant d'un type au choix.
6.2. LES OPERATEURS +=, -=, *=, /=
Ils sont utilisés pour faciliter l'écriture.
6.3. LES OPERATEURS LOGIQUES
6.4. LES OPERATEURS ++ ET --
Ils permettent d'incrémenter ou de décrémenter une variable. L'opérateur ++ ou -- effectue une pré-
incrémentation (pré-décrémentation) ou une post-incrémentation (post-décrémentation) selon son emplacement
après ou avant la variable.
Dans une opération d'affectation qui met en jeu l'opérateur de :
• pré-incrémentation (pré-décrémentation), la variable est d'abord incrémentée (décrémentée) de 1.
L'affectation est ensuite effectuée.
• post-incrémentation (post-décrémentation), L'affectation (sans les ++ (--)) est effectuée avant l'incrémentation
(décrémentation).
Exemple:
Soient i=3 et j=5,
7. LES INSTRUCTIONS SELECTIVES
7.1. L’INSTRUCTION « IF »
L'instruction if
sélectionne le traitement
(bloc d'instructions) à
faire si une condition est
vérifiée.
Lorsque if est utilisée
avec else, elle indique
également le traitement à
faire si la condition n'est
pas vérifiée.
7.2. L’INSTRUCTION « SWITCH »
Elle réalise un aiguillage vers différentes instructions en fonction du contenu d'une
variable de contrôle. Le sélecteur de switch (la variable de contrôle) doit être un entier
ou un caractère
Exemple:
8. LES INSTRUCTIONS ITERATIVES
8.1. L’INSTRUCTION « WHILE »
L'instruction while permet de répéter un traitement autant de fois qu'une condition est vérifiée. Les
instructions en question sont alors exécutées tant que la condition est vraie.
Exemple:
Lors de l'utilisation de l'instruction while, à chaque itération, la condition est évaluée en
premier, avant l'exécution du traitement.
8.2. L’INSTRUCTION « DO…..WHILE »
L'instruction do….while permet de répéter un traitement jusqu'à ce qu'une condition ne soit plus vérifiée.
Elle joue le même rôle que while. Néanmoins, Lors de l'utilisation de l'instruction while, à chaque
itération (fois), le traitement est exécuté en premier, avant que la condition ne soit évaluée.
8.3. L’INSTRUCTION « FOR »
L'instruction for permet de répéter un traitement donné un nombre de fois précis
Exemple:
8.4. LES INSTRUCTIONS DE SORTIES DE BOUCLES (BREAK ET CONTINUE)
❑ Break permet de sortir directement de la boucle (for, while ou do while) la plus interne.
❑ Continue permet de passer directement à l'itération suivante de la boucle la plus interne.
8.5. L’INSTRUCTION « GOTO »
L'instruction goto permet de
brancher (inconditionnellement) à
une ligne du programme. Celle-ci
doit avoir été étiquetée (précédée
d'une étiquette constituée d'un
identificateur suivi de :).
Exemple:
8. LES TABLEAUX
Un tableau est une collection homogène de données, ordonnée et de taille statique. Il fut un ensemble d'octets
permettant de représenter une liste d'éléments de même type. Chaque élément est repéré par un indice (son rang
dans le tableau).
Exemple:
8.1. TABLEAUX A UNE DIMENSION (VECTEURS)
➢ DECLARATION
➢ INITIALISATION
Exemple:
➢ LECTURE ET AFFICHAGE
Les éléments d'un
tableau sont à lire et à
afficher élément par
élément.
➢ AFFECTATION
L'affectation de valeurs aux
éléments d'un tableau se fait
également individuellement
(comme pour la lecture et
l'affichage).
8.1. TABLEAUX A PLUSIEURS DIMENSIONS
➢ DECLARATION
➢ INITIALISATION
9. LES CHAINES DE CARACTERES
Une chaîne de caractères est un tableau de caractères. Elle représente un cas particulier des tableaux qui
bénéficie de certains traitements particuliers en plus de ceux réservés aux tableaux en général. C’est un tableau
à une dimension
➢ INITIALISATION
Exemple:
➢ LECTURE ET AFFICHAGE
Une variable de type chaîne de caractères peut être lue et affichée caractère par caractère au moyen de
scanf et printf utilisant le format %c. Elle peut également être lue (affichée) globalement (d'un seul
coup) au moyen de la fonction scanf (printf) utilisant cette fois-ci le format %s ou au moyen de la
fonction gets (puts).
➢ FONCTIONS SUR LES CHAINES DE CARACTERES
Des fonctions prédéfinies appliquées aux chaînes de caractères sont définies dans le fichier "string.h".
Nous en citons :
Exemple:
9. LES POINTEURS
Un pointeur sur une variable x est une variable qui contient l'adresse mémoire de la variable x
➢ DECLARATION
Exemple :
char *p; /*p peut contenir l'adresse d'une variable de type caractère ou chaîne de caractères*/
int *p; /*p peut contenir l'adresse d'une variable de type entier*/
Remarque :
Lorsqu'un pointeur ne contient aucune adresse valide, il est égal à NULL (Pour utiliser cette valeur, il
faut inclure le fichier stdio.h dans le programme).
➢ OPERATEURS & ET *
Le langage C met en jeu deux opérateurs utilisés lors de l'usage de pointeurs. Il s'agit des opérateurs & et *.
Exemple: