Vous êtes sur la page 1sur 11

1 GII / GT

Algorithmique & programmation


en langage C

Introduction et
Chapitre 1
outils de base
Chapitre 1 Introduction et outils de base
Objectifs

Ressourdre un problème Interface machine


Entré/Sortie Logiciel
Suite d’instructions Ensemble d'opérations
Ordre logique … Langage informatique …

Algorithmique & programmation


en langage C

Comprendre les différentes constructions de la programmation en C


Être capable de bien programmer
Savoir programmer de manière modulaire

2
Chapitre 1 Introduction et outils de base
Notion d’algorithmes et programmation

Un algorithme est la description d'une suite Entrée

d'étapes permettant d'obtenir un résultat à Ensemble des règles pour


obtenir le résultat attendu de
partir d'éléments fournis en entrée. l’entrée de donné
Sortie
Définir un
problème
Le terme algorithme est employé en informatique
Décomposition en sous problème pour décrire une méthode de résolution de
problème programmable sur machine.

Ecriture de l’algorithme

Langage de
Ecriture du programme programmation

Test du programme

3
Chapitre 1 Introduction et outils de base
Langage C

• Le C a été conçu en 1972 par Dennis Richie et Ken Thompson.

• Norme ANSI en 1989 et ISO en 1990


• Le langage C a été conçu afin de réécrire le système d'exploitation UNIX.
• Il a influencé de nombreux langages plus récents comme C++, Java et Phyton.
• Langage compilé (et non interprété)
• Langage polyvalent permettant le développement de systèmes d'exploitation, des
programmes scientifiques et de gestion.
• Langage évolué qui permet néanmoins d'effectuer des opérations de bas niveau (<<
assembleur d'Unix >>).
• Grande efficacité et puissance.

4
Chapitre 1 Introduction et outils de base
Langage C

Le succès du C est dû aux faits que:


✓ C'est un langage universel: C n'est pas orienté vers un domaine d'applications spécifique.

✓ C'est un langage compact: C est basé sur un noyau de fonctions et d'opérateurs limités,
permettant la formulation d'expressions simples et efficaces.

✓ Il est près de la machine: comme il a été développé initialement pour programmer le


système UNIX.

✓ Il est rapide puisqu'il est près de la machine.

✓ Il est portable: en respectant le standard ANSI-C, il est possible d'utiliser le même


programme sur tout autre système d'exploitation en possession d'un compilateur C.

✓ Il est extensible: C ne se compose pas seulement des fonctions standard, le langage est
animé par des bibliothèques de fonctions privées ou livrées par de nombreuses maisons de
développement.

5
Chapitre 1 Introduction et outils de base
Langage C

• Le préprocesseur traite le fichier source avant le compilateur. Il ne manipule que des chaînes de
caractères. Il retire les parties commentaires (entre /* et */). Il prend en compte les lignes
commençant par un # pour créer le code que le compilateur analysera.
• Le compilateur permettant de traduire en
code binaire chaque fonction (dont le
programme principal : fonction main)
écrite dans les fichiers sources, en créant
des fichiers binaires ou objets (*.o),
• L'éditeur de liens (linker) associe
également le code objet de fonctions
d’usage courant, contenu dans des
bibliothèques dont les prototypes sont
écrits dans les fichiers interfaces de ces
bibliothèques : fonctions standards
(stdlib.h), d’entrées-sorties (stdio.h), etc….

6
Chapitre 1 Introduction et outils de base
Langage C

Pour compiler et exécuter un programme écrit en C:


➢ Soit il faut utiliser un environnement de développement dédié (IDE)

Exemple: Visual Studio , Visual Studio Code , Code Blocks

➢ Soit il faut ouvrir un terminal et utiliser le compilateur GNU gcc sous linux en tapant la
commande:
gcc [arguments] [fichiers à compiler] (-o fichier de sortie)
Et pour l’exécution, il faut taper la commande: ./ fichier de sortie

Exemple
gcc main.c –o Programme
./Programme

7
Chapitre 1 Introduction et outils de base
Langage C

Quelques bibliothèques du C :
<assert.h>: diagnostique à l’exécution
<ctype.h>: manipulation des caractères
<errno.h>: gestion des erreurs
<float.h>l: limites de l’arithmétique flottante
<limits.h>: limites de l’arithmétique entière
<locale.h>: support multilingue
<math.h>: la bibliothèque mathématique
<setjmp.h>: transfert d’exécution
<signal.h>: gestion des signaux
<stdarg.h>: gestion des arguments
<stddef.h>: définitions générales
<stdio.h>: Entrées/Sorties
<stdlib.h>: utilisation d’usage général
<string.h>: manipulation des chaines de caractères
<time.h>: manipulation des masures de temps

8
Chapitre 1 Introduction et outils de base
Structure d’un programme C (simple)

Déclarations des bibliothèques


int main() /* Programme principal */
{ /* Début du programme */
Déclarations de variables internes ; /* Corps du programme */
Instructions ;
return 0;
} /* Fin du programme */

• Le langage C distingue les minuscules des majuscules


• Il possède assez peu d'instructions
• Il fait appel à des bibliothèques fournies avec le compilateur.

9
Chapitre 1 Introduction et outils de base
Structure d’un programme C (simple)

Exemple 1 de programme C : Affichage du mot « Bonjour »

✓ main(): en C le programme principal


#include <stdio.h>
s'appelle toujours main et doit
int main() contenir au moins le programme
principal (la partie main).
{
/*Notre premier programme en C* / ✓ printf : est une fonction d’affichage

printf("Bonjour \n ") ; ✓ \n: retour à la ligne du curseur


return 0;
✓ #include <stdio.h>: fonctions utiles
}
pour les entrées/sortie de base

10
Chapitre 1 Introduction et outils de base
Structure d’un programme C (simple)

Exemple 2 de programme C : somme des nb de 1 à 10 et affichage de la valeur somme

#include <stdio.h> 1 déclaration des variables de type entier


int main (void)
{ instruction d'affectation de valeur à la
2
int somme; int i; 1 variable somme
2 somme = 0;
for (i = 1; i <= 10; i++) 3 instructions exécutées en séquence
{
somme = somme + i; 3
4 } 4 l'instruction entre accolades est exécutée
printf ("%d\n", somme); 5 pour les valeurs de i allant de 1 à 10
somme = 0; affiche à l'écran la valeur de l'entier
5
} contenu dans somme

11

Vous aimerez peut-être aussi