Vous êtes sur la page 1sur 5

Chapitre 1 Rappel : Langage évolué C

1. Introduction

Contrairement au langage assembleur, un langage évolué est construit autour de macro-


instructions formées de mots clé et de symboles.
A chaque langage évolué correspond un programme spécifique appelé "compilateur" qui traduit
l'instruction en langage machine afin d'être exécutée. La traduction se fait selon le schéma
suivant:

Programme écrit en Compilateur du Programme en


langage évolué langage évolué langage machine

2. Structure d'un programme en "C":

 Toutes instructions se terminent par un point virgule ;


 La fonction main est la fonction principale des programmes en "C":
 Il faut faire précéder la définition de main par les fichiers d'entête les "include"
contenant les prototypes des instructions.
 Toutes les variables utilisées dans un programme doivent être déclarées avant leur
utilisation.
 Une ligne de commentaires doit commencer par /* et se terminer par */ .
 Un bloc d'instructions commence par { et se termine par }.
 "C" distingue les majuscules et les minuscules.

3. Déclarations

Tout langage de programmation nécessite la déclaration de l'identité des objets que l'on utilise
avant la première ligne du programme. On les appelle les identificateurs.

3.1. Les constantes

Il est possible de déclarer en langage C des constantes.


Exemple:
#define PI 3.14
#define PI2 3.14 * 3.14
...
float x = PI;

Module POO/C++ M1/AS Dr Kemmouche


Dans l'exemple ci-dessus, PI sera remplacé dans l'étape précédent la compilation par tout ce qui
se trouve à partir de l'espace suivant PI jusqu'à la fin de ligne. Donc ne pas mettre de "; ," ni de
commentaire à la fin de la ligne.

3.2. Les variables

Les variables contiennent les valeurs qui sont utilisées pendant l'exécution du programme. Une
variable est définie par:
L'identificateur: C'est le nom que l'on donne à la variable ou à la constante.
Le type: Si la variable est un entier (char, int, short et long) ou un réel (float, double, long
double) ou un booléen…

Type Signé Non signé (unsigned) Nbre d'octets

char -128 à 127 0 à 255 1


Entiers
relatifs short -32768 à 32767 0 à 65535 2

int -32768 à 32767 0 à 65535 2 ou 4

long -2147483648 à 2147483647 0 à 4294967295 4

float 3.4 * 10-38 à 3.4 * 1038 4


Réels
double 1.7 * 10-308 à 1.7 * 10308 8

long double 3.4 * 10-4932 à 3.4 * 104932 10

4. Les instructions

4.1. Les structures de condition

 if – else
Elles permettent de choisir d'exécuter un bloc d'instructions plutôt qu'un autre suivant une
condition donnée. La condition est exprimée sous forme d'expression qui sera vraie ou fausse. Si
elle est vraie, on exécute ce qui vient après le "if", sinon, on exécute ce qui vient après le "else".

if (condition)
{………………….;
…………………..;
}
else
{………………….;
…………………..;
}

Module POO/C++ M1/AS Dr Kemmouche


 switch
Le switch est une instruction de prise de décision à choix multiples qui, en fonction de la valeur
de l'expression, effectue les instructions associées à la valeur correspondante. Elle permet de
créer une table de branchement en fonction de différentes valeurs d'une variable. Si aucune
valeur n'est trouvée, alors ceux sont les instructions qui suivent default qui sont exécutées.

switch (expression)
{
case val1 : …………………;
…………………;
break ;
case val2 : …………………;
…………………;
break ;
........................................................
default : …………………;
…………………;
}

4.2. Les structures itératives

Une structure itérative est la répétition d'une ou plusieurs instructions tant que la condition de
sortie est VRAIE. Il existe trois instructions itératives :
 la structure : while
 la structure : do - while
 la structure : for

 La structure while

La syntaxe du "while" est :

while ( expression )
{
bloc d'instructions
}

Tant que l'expression entre parenthèses est vraie, le bloc d'instructions est exécuté.

 La structure do- while


La syntaxe du "do - while" est :

do
{
bloc d'instructions
}
while( expression ) ;

Module POO/C++ M1/AS Dr Kemmouche


A l'inverse du "while", le "do while" évalue la condition en fin d'exécution du bloc
d'instructions. Ainsi le bloc d'instructions est exécuté au moins une fois.

 La structure for
La syntaxe du "for" est :

for (expr1 ; expr2; expr3)


{
bloc d'instructions
}

- l’expression expr1 est l'expression d’initialisation. Elle est réalisée une seule fois lors de
l’entrée dans la boucle.
- l’expression expr2 est la condition d’exécution de l’instruction. Elle est testée à chaque
itération.
- l’expression expr3 est l'expression de contrôle. Elle permet de calculer la prochaine valeur
avec laquelle la condition de passage va être retestée. Elle est exécutée (après le bloc
d'instructions) à chaque itération avant le nouveau test de passage.
Exemple : for (i = 0 ; i < 10 ; i++)
- l’expression d’initialisation (i = 0) met la valeur 0 dans la variable "i"
- -l'expression i < 10 est la condition d’exécution qui se fait en testant si "i" est strictement
inférieur à 10.
- l'expression (i++) est la progression de "i". Elle se fait par "pas" de 1 en utilisant l’opérateur
d’incrémentation (++).

Remarque:

- Différentes boucles peuvent être imbriquées.


- Pour sortir d'une boucle alors que la condition de passage est encore valide, on peut utiliser
les instructions de rupture de séquence:
- L'instruction "continue": elle permet de se brancher sur la condition de sortie de la boucle à
partir de n'importe quel endroit.
- L'instruction "break": elle permet de sortir d’un bloc d’instructions.

Module POO/C++ M1/AS Dr Kemmouche


5. Les structures de données

Une structure est une variable qui permet de manipuler sous forme d'une entité unique une
donnée (objet) composée d'éléments, appelés membres ou champs, de types pouvant être
différents. Ainsi pour stocker des données, il est possible de définir des ensembles de "
structures ".
Pour définir une structure, on utilise le mot clé " struct ". Sa syntaxe est :

Struct nom_structure
{
type_1 champ_1;
type_2 champ_2;
………………
};

Exemple:

struct Adresse
{
char nom [20]; // Mohamed
const char∗ communne ; // "Bab Ezzouar"
int code ; // 16100
const char∗ quartier ; // "Rabia "
const char∗ Ville ; //"Alger"
};

Cette structure définit un type appelé Adresse composé des éléments dont vous avez besoin pour
envoyer du courrier à quelqu'un à Bab-Ezzouar le point-virgule de fin.
Les variables de type Adresse peuvent être déclarées exactement comme les autres variables. On
accède à une composante (un champ) de la structure par : Nom_variable . Nom_champ (le nom
de la variable suivi d’un point et du nom du champ). Les champs ainsi désignés peuvent être
utilisés comme toute autre variable.
Les variables des types " struct" peuvent être initialisées en utilisant "{ }" par exemple:

Adresse copain =
{
"Mohamed",
"Bab Ezzouar",
16000,
"Rabia",
"Alger"
};

Module POO/C++ M1/AS Dr Kemmouche