Programmation procédural : Le langage C

📝 Mini-cours GRATUIT

Programmation procédural : Le langage C

La programmation procédurale

La structure d'un programme en C est la suivante :

Les variables

Les différents types de variables utilisées en C sont les suivants :

Syntaxe Définition Taille Plage de variation
char Variable signée de type caractère pouvant être utilisée comme un nombre entier signé 8 bits -128 à 127
unsigned char Variable non signée de type caractère pouvant être utilisée comme une nombre entier non signé 8 bits 0 à 255
int Variable signée de type nombre entier 16 bits -32768 à 32767
unsigned int Variable non signée de type nombre entier 16 bits 0 à 65535
float Variable de type nombre réel 32 bits $-3,4 \cdot 10^{-38}$ à $3,4 \cdot 10^{38}$

Les opérateurs

Toutes les opérations réalisées se finissent par ;

Exemple

Z=X+Y ;

Les opérateurs arithmétiques

Ces opérateurs permettent d'effectuer les opérations arithmétiques traditionnelles : addition, soustraction, multiplication et division entière entre des variables.

Opérateur Fonction
+ Addition
- Soustraction
* Multiplication
/ Division entière
% Reste de la division entière

Les opérateurs d'affectation

Ces opérateurs permettent d'affecter à une variable une valeur, certains de ces opérateurs permettent d'affecter et de réaliser une opération arithmétique en même temps.

Opérateur Fonction Ecriture Equivalence
= Affectation ordinaire X=Y X=Y
+= Affectation d'une addition X+=Y X=X+Y
-= Affectation d'une soustraction X-=Y X=X-Y
*= Affectation d'une multiplication X*=Y X=X*Y
/= Affectation d'une division entière X/=Y X=X/Y
%= Affectation du reste de la division entière X%=Y X=X%Y
-- Décrémentation de 1 X-- X=X-1
++ Incrémentation de 1 X++ X=X+1

EN RÉSUMÉ

Les opérateurs logiques et de comparaison

Les opérateurs logiques bit à bit

Ces opérateurs agissent sur des mots binaires. Ils effectuent entre deux mots une opération logique sur les bits de même rang.

Opérateur Fonction Notation
& ET Z=X&Y
| OU Z=X|Y
^ OU exclusif Z=X^Y
~ NON Z=~Y
>> Décalage à droite des bits Z=X>>4 (Z prend la valeur de X après le décalage à droite de 4 bits)
<< Décalage à gauche des bits Z=X<<4 (Z prend la valeur de X après le décalage à gauche de 4 bits)

Les opérateurs de tests conditionnels

Ces opérateurs s'adressent uniquement aux opérations de test conditionnel. Le résultat de ces tests est binaire : vrai(="1") ou faux(="0").

Les opérateurs logiques

Opérateur Fonction
&& ET logique
|| OU logique
! NON logique

Les opérateurs de comparaison

Ces opérateurs renvoient la valeur "0" si la condition vérifiée est fausse, et "1" si la condition vérifiée est vraie.

Opérateur Fonction
== Egal à
!= Différent de
> Supérieur à
< Inférieur à
>= Supérieur ou égal à
<= Inférieur ou égal à

EN RÉSUMÉ

Les fonctions

I. Qu'est-ce qu'une fonction ?

Le rôle des fonctions est de décomposer (diviser) un programme complexe en fonctions simples. Les fonctions facilitent grandement la mise au point du programme.

Caractéristiques d'une fonction bien conçue

Une fonction bien conçue doit :

  • réaliser une action facilement compréhensible,
  • réaliser une tâche pas trop complexe,
  • posséder un nombre d'instructions raisonnable (un écran).

Structure des programmes C++

Tout programme C++ se compose d'au moins une fonction, la fonction principale : main(). Elle s'exécute automatiquement à l'exécution et peut appeler d'autres fonctions. Chaque fonction porte un nom particulier qui l'identifie dans le programme.

Une fonction peut être appelée par une autre fonction (ou par elle-même : récursivité). On ne peut pas définir une fonction dans une fonction.

II. La définition d'une fonction

La définition fournit au compilateur le contenu de la fonction (son programme).

Instructions return

On peut utiliser un ou plusieurs return dans le corps de la fonction. Les instructions suivant le return ne sont pas prises en compte.

Fonctions sans valeur de retour

Si la fonction ne renvoie aucune valeur, on la fait alors précéder du mot-clé void, l'instruction return est inutile. Les arguments sont facultatifs, mais s'il n'y a pas d'arguments, les parenthèses doivent rester présentes.

EN RÉSUMÉ

Déclaration et appel d'une fonction

La déclaration d'une fonction

Règles de déclaration

Toute fonction doit être déclarée avant d'être appelée pour la première fois. La déclaration peut être obtenue par l'utilisation d'un prototype.

Le prototype

Le prototype est semblable à l'en-tête de la définition de la fonction, excepté que le nom des paramètres est facultatif. Il est cependant conseillé de le préciser pour rendre le programme plus lisible.

Contrôle de cohérence

Le prototype permet aussi, durant les phases de compilation et d'édition de liens, de contrôler la cohérence des déclarations de fonctions avec leurs utilisations.

Trois manières de déclarer une fonction

Trois manières de déclarer une fonction :

  • La définir avant qu'elle soit appelée. La définition tient lieu de déclaration. A éviter !
  • Écrire le prototype dans le fichier source avant le début du programme principal, la définition se situant après le programme principal.
  • Écrire le prototype dans un fichier en-tête (.h) et l'inclure dans le fichier source avec la directive: #include " nom_en-tete.h"

Gestion multi-fichier

La dernière approche, avec le fichier d'en-tête est également appelée gestion multi-fichier. Elle sera illustrée au travers d'un exemple dans la partie suivante.

Appel de la fonction

EN RÉSUMÉ


FAQ