Chapitre 1 - Introduction Générale

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Langage de Programmation C

Introduction Générale

DR. HASNA ELALAOUI

[email protected]

DR. HASNA ELALAOUI 1


 Contexte général
Introduction
générale  Notion d’algorithme

 Notion de programme et de programmation

 Langage de programmation
Détails sur la partie
 Le langage C
 Historique
 Avantages

 Environnement de travail et fonctionnement

Premier programme en C

 Simulation

DR. HASNA ELALAOUI 2


Discussion…

 Que signifie ‘programmer’ ou ‘programmation’ pour vous?

 A quoi sert la programmation?

 Des exemples de programmes?

 Différence entre algorithme et programme?

DR. HASNA ELALAOUI 3


Contexte général

Rédaction
Enoncé du Programme Programme Résultat
des cahiers Algorithme
problème source exécutable final
de charge

Spécification Analyse Programmation Compilation Exécution

expliquer à la «machine» comment elle doit s'y prendre

concevoir (et écrire) des algorithmes: séquence d’instructions


qui décrit comment résoudre le problème

DR. HASNA ELALAOUI 4


Contexte général

Rédaction des Résultat final


Enoncé du Programme Programme
cahiers de Algorithme
problème source exécutable (Programme)
charge

Spécification Analyse Programmation Compilation Exécution

Traduire l’algorithme en un langage compris par la machine

Ecrire des programmes dans un ou plusieurs fichiers


exécutés par l’ordinateur

DR. HASNA ELALAOUI 5


Notion d’algorithme
Un algorithme est une description complète et détaillée
des actions à effectuer et de leur enchaînement (consécution) pour arriver à un résultat donné

C’est un pseudo-langage conçu pour résoudre les problèmes sans aucune contrainte due aux langages de
programmation et aux spécificités de la machine.

Ce pseudo-langage sera ensuite traduit et codé dans le langage de programmation désiré.

Début

Instructions

Fin

DR. HASNA ELALAOUI 6


Notion de programmes et de programmation

Programmer = Réaliser des programmes informatiques

Programme = ensemble d’instructions consécutives pouvant être exécutées par la machine (ordinateur)
pour effectuer une tâche

Contrainte = Doit être compréhensible par la machine

Exemples

 la calculatrice est un programme


 traitement de texte est un programme (logiciel word)
 les jeux vidéo sont des programmes

DR. HASNA ELALAOUI 7


Langage de programmation - 1
Types de langages

 Bit = 0 ou 1 avec 8 bits = 1 octet


 Langage machine : La machine ne comprend que le langage binaire (suite de 0 et 1 appelés bit)
 Exemple: la machine arrive une suite de la forme 0110001110110111000
Problématique
 Comment communiquer facilement avec une machine sans utiliser le langage binaire?
 Exemple: Comment dire à une machine d’exécuter une instruction de type ‘calculer 8-5’ ?
Solution
 Langage haut niveau: Langage facilement compréhensible car proche du langage humain « anglais »
 Un langage de programmation comme le langage C est un langage de haut niveau
 Il permet, grâce à des outils, de traduire des instructions du langage humain en langage machine

DR. HASNA ELALAOUI 8


Langage de programmation - 2

Traduction en binaire
Langage humain Langage de programmation compréhensible par la
traduit le langage humain machine
Calcule 8-5 en un langage simplifié
0110001110110111000

Pseudo-code
Code source Exécutable
(algorithme)

Compilation par un compilateur

DR. HASNA ELALAOUI 9


Langage de programmation - 3
Récapitulatif

 La machine ne comprend que le langage binaire


 Un langage de haut niveau est un langage proche du langage humain
 Un langage de programmation est un langage permettant d’écrire du code source
 C
 C++
 Java
 Python…
 Les langages de programmation diffèrent en niveau: certains comme python sont de haut niveau, d’autres comme C sont un peu
plus bas niveau
 Code source = code d’un programme écrit dans un langage de haut niveau
 Compilateur = programme qui permet de traduire un langage de haut niveau en langage binaire
 Compilateur diffère d’un langage à l’autre et d’un système à un autre (compilateur Microsoft # compilateur GNU)
 Exécutable = le programme binaire créé par le compilateur (extension .exe sous windows)

DR. HASNA ELALAOUI 10


Langage C - Historique

CPL/BCPL
Langage Algol Langage C Langage C++
Langage B

 En 1972, Dennis M. Ritchie a conçu le Langage C pour développer une version portable du système d’exploitation
UNIX.
 En 1978, le duo Brian W. Kernighan et Dennis M. Ritchie a publié la définition classique du langage
 Remarque: Le langage C++ n’est pas meilleur que le langage C mais utilise juste une approche différente (approche
orientée objet)
 C et C++ ne sont pas des langages concurrents. Ce sont juste deux manières de programmer assez différentes.

DR. HASNA ELALAOUI 11


Langage C - Avantages

 Universel : très répandu dans le monde, le langage C permet aussi bien la programmation système
que la programmation de divers applications (scientifiques, de gestion,...).
 Près de la machine : permet un accès simple et direct aux fonctions internes de la machine
 Indépendant de la machine : peut être utilisé sur n’importe quel système avec un compilateur C.
 Portable : il est possible d’utiliser le même programme sur d’autres compilateurs.

Près de la
Universel Rapide
machine

Indépendant
Portable Extensible
de la machine

DR. HASNA ELALAOUI 12


Environnement de travail et fonctionnement - 1

Etape 1 : éditeur de code


On utilise un éditeur de texte pour écrire le programme.
L'éditeur nous permet de conserver notre code sur un fichier, sur un disque.

Etape 2 : compilateur
Le compilateur traduit le code de haut-niveau (C) que nous avons écrit en un langage de bas-niveau
(langage machine) compréhensible par la machine. Le fichier où est stocké le code de bas niveau est
appelé fichier objet (.o).

Etape 3 : générateur des liens (Linker)


L‘éditeur de liens ("linker") réunit les codes objets produits par le compilateur de même que les
ressources existantes (librairies). Le résultat de l'éditeur de liens est un fichier exécutable.

DR. HASNA ELALAOUI 13


Environnement de travail et fonctionnement - 2

Compiler ou compilation c’est transformer un code en un langage machine (binaire/hexadécimal)


pour que la machine puisse l'exécuter.

DR. HASNA ELALAOUI 14


Environnement de travail et fonctionnement - 3

Pour programmer en langage C, il existe deux possibilités:


• Utiliser les outils séparément: un éditeur de texte, un compilateur et un
générateur de liens.

• Utiliser un environnement de développement (IDE) regroupant les 3 à la


fois
• Code blocks: gratuit et fonctionne sous plusieurs systèmes d’exploitation
• Visual C++ de Microsoft : payant et fonctionne sous Windows
• Xcode: idéal pour la programmation sous MacOS
• Dev C++: Gratuit, rapide et simple IDE de développement C et C++

DR. HASNA ELALAOUI 15


Environnement de travail et fonctionnement - 4

1. la barre d'outils

2. la liste des fichiers du projet

3. la zone principale : c'est là où sera écrit le code


en langage C

4. la zone de notification : les erreurs de


compilation s'affichent si le code comporte
des erreurs.

DR. HASNA ELALAOUI 16


Premier programme en C – 1

Directives de préprocesseur

 Les premières lignes du code commençant par #


 Inclusion des fichiers d’entête (fichiers avec extension .h)
 Définitions des constantes avec #define
 Définition des variables globales
 Définition des signatures des fonctions
Exemple

DR. HASNA ELALAOUI 17


Premier programme en C – 2

Fonction main

 Fonction principale des programmes en langage C


 Elle se trouve obligatoirement dans tous les programmes
 Les lignes à l’intérieur de la fonction sont appelées « instructions » (une commande donnée à la machine)
 Toute instruction se termine obligatoirement par un point-virgule (;)
 La première ligne printf("Hello world!\n"); demande à afficher le message « Hello world! » à l'écran.
 La dernière ligne return 0; indique qu'on arrive à la fin de la fonction main et demande de renvoyer la valeur 0.
Exemple

DR. HASNA ELALAOUI 18


Premier programme en C – 3

Fonction main

 Fonction principale des programmes en langage C


 Elle se trouve obligatoirement dans tous les programmes
 Les lignes à l’intérieur de la fonction sont appelées « instructions » (une commande donnée à la machine)
 Toute instruction se termine obligatoirement par un point-virgule (;)
 La première ligne printf("Hello world!\n"); demande à afficher le message « Hello world! » à l'écran.
 La dernière ligne return 0; indique qu'on arrive à la fin de la fonction main et demande de renvoyer la valeur 0.
Exemple

DR. HASNA ELALAOUI 19


Simulation

DR. HASNA ELALAOUI 20


Fin du chapitre 1

DR. HASNA ELALAOUI 21

Vous aimerez peut-être aussi