You are on page 1of 34

Institut Supérieur d’Informatique et de Gestion

Module : Atelier de programmation

Chapitre1: Introduction à la programmation C


Filière : 1LA-RI
Responsable de Cours : Amani BEL HADJ KHALIFA

2010/2011
Introduction à l’informatique (1)
 Informatique : Traitement automatique de l’information

 Elle domine la vie courante. Pourquoi ?


◦ Gain:
 Temps
 Qualité
 Argent
◦ Disponibilité du :
 matériel
 Logiciel

12/07/2021 2
Introduction à l’informatique (2)
 Domaines d’exploitation:

◦ Logiciels généraux disponibles au marché


◦ Logiciels spécifiques adressés aux industries
◦ Programmes spécifiques pour des applications moins
importantes

12/07/2021 3
Les composants d’un ordinateur (1)

Unité centrale
Ecran • Mémoire vive
• Microprocesseur
•Disque dur
• Autres

Souris
Clavier

12/07/2021 4
Les composants d’un ordinateur (2)

12/07/2021 5
But : automatisation de traitement
 Tout processeur (cœur des différents systèmes informatiques)
exécute des programmes
 Un programme est composé d’une succession d’instructions qui
peuvent se décomposer en opérations élémentaires par compilation
 Les instructions sont les ordres inclues pas l’utilisateur par
accomplir la tâche automatisée
 La compilation transforme le programme écrit dans un langage riche
(lisible par vous) en un langage simple composé d’opérations
élémentaires (lisible par l’ordinateur)
 Les opérations élémentaires sont réalisées par des fonctions
logiques qui sont codées sous forme de 0 et de 1 en mémoire puis
 Les fonctions logiques sont réalisées par des circuits électroniques.
(addition, test d’égalité) concrètement c’est un courant discontinu au
travers de fil/couche de siliciu

12/07/2021 6
Classification
T o u s le s L a n g u a g e s
d e P r o g r a m m a tio n

Languages Languages
Im p e r a t if s D e c la r a tifs

P r o g r a m m a t io n P r o g r a m m a t io n P r o g r a m m a t io n P r o g r a m m a t io n P r o g r a m m a t io n
P r o c e d u r a le O r ie n t e e O b j e t s C o n c u rre n te F o n c t i o n e l le L o g iq u e
A d a , P a s c a l, C C ++, Java Ada 95 L IS P , S C H E M E PR O LO G

Languages Imperatifs: Langages incluant des moyens pour le programmeur d ’attribuer des
valeurs a des locations en mémoire.
Languages Declaratifs: Langages pour lesquels le programmeur réfléchit en terme de valeurs
des fonctions et de relations entre entités diverses. Il n ’y a pas d ’attribution de valeurs aux
variables.

12/07/2021 7
Caractéristiques du C

 Structuré
 Modulaire: peut être découpé en modules qui peuvent être compilés
séparément
 Universel: n'est pas orienté vers un domaine d'application particulier
 Typé: tout objet C doit être déclaré avant d’être utilisé
 Portable: sur n'importe quel système en possession d'un compilateur
C

12/07/2021 8
Programmation / programme
 Définition des instructions nécessaires et devant être
exécutées pas l’ordinateur
 Ces instructions sont enregistrés sous forme d’un

fichier texte ASCII (fichier source)


◦ Exemple : programme C est enregistré sous la forme de :
nom.C

12/07/2021 9
Processus de développement d’un
programme
Exécuter
Saisir nomfich.C
nomfich.C

OUI

Compiler OUI Chaînage


Succès? Succès?
nomfich.C nomfich.OBJ

NON
NON
Édition

12/07/2021 10
Mon Premier Programme en C
Début du programme

Inclusion de la bibliothèque
#include <stdio.h> contenant la fonction printf

void main() Point d'entré du programme


{
printf("Bonjour!\n"); première
} instruction

Fin du programme

12/07/2021 11
Commentaires
 Écrits dans n’importe quelle ligne du programme

 Ne sont ni compilés ni exécutés

 Compris entre /* et */

12/07/2021 12
Données vs. mémoire
 La mémoire : c'est l'espace où les données sont rangées
pour fin d'utilisation par l'algorithme
 La mémoire est comme un ensemble de casiers postaux
◦ Une case contient une donnée
◦ Pour accéder à une donnée, on indique le numéro du
casier (ou adresse mémoire)
◦ Pour stocker une donnée, on indique le numéro du
casier et la valeur à stocker

12/07/2021 13
Données vs. variables et constantes
 Pour simplifier l'accès aux données en mémoire, on
utilise des étiquettes (ou symboles) qui identifient de
façon abstraite un emplacement précis.
 Ces étiquettes s'appellent des variables
 Lorsque le contenu d'une variable (i.e., un

emplacement) ne doit pas être modifié par l'algorithme,


on dit alors que cette variable est une constante

12/07/2021 14
Accès et manipulation des données
 Lorsqu'on accède à une donnée en mémoire pour la
manipuler, cette donnée n'est pas modifiée

 Il faut explicitement changer le contenu de


l'emplacement en mémoire pour que la donnée soit
modifiée

12/07/2021 15
Définition d'une variable

◦ nom:
 Unique pour chaque variable
 Commence toujours par une lettre
 Différenciation minuscule-majuscule
◦ type:
 Conditionne le format de la variable en mémoire
 Peut être soit un type standard ou un type utilisateur
◦ valeur:
 Peut évoluer pendant l'exécution
 initialisation grâce à l'opérateur d'affectation

12/07/2021 16
Types de variable (1)

◦ charcaractères
◦ int entiers
◦ short [int] entiers courts
◦ long [int] entiers longs
◦ float nombres décimaux
◦ double nombres décimaux de précision
supérieure
◦ long double nombres décimaux encore plus
précis
◦ unsigned int entier non signé
◦ Boolean  bouléen: vrai/faux

12/07/2021 17
Types de variable (2)

TYPE DESCRIPT TAILLE MEMOIRE


ION
int Entier 4 octets: -2 31≤n ≤ 2 31 -1

float réel 4 octets


char caractère 1 octet : -2 7≤n ≤ 2 7 -1

12/07/2021 18
Conversion des types
But :obtenir des variables de même type
 Conversion implicite : du type le plus au type le

plus grand.
int a;float b;
b=2+(float)a;

12/07/2021 19
Déclaration de variable (s)

Type nom_de_la_variable [= valeur];

 Exemples:
◦ int nb;
◦ float pi = 3.14;
◦ char c = 'a';
◦ long i,j,k;
◦ double r = 6.2879821365;

12/07/2021 20
Initialisation

char c;

char c=‘A’

c=‘A’;

12/07/2021 21
Déclaration des constantes
 Déclaration d’une variable dont la valeur est constante
dans tout le programme

const float PI=3.14159;

 Définition d’un symbole par la directive:

#define PI=3.14159;

12/07/2021 22
La fonction printf (1)
 C’est une fonction de la bibliothèque <stdio.h>

 Fonction d’affichage de:


◦ Texte/message
◦ Variable(s)
◦ Texte(s)+variable(s)

12/07/2021 23
La fonction printf (2)
 Affichage d’un texte:
◦ Compris entre 2 guillemets
◦ Peut être interprété par des séquences
d’échappements( \t, \n, \r, …)

Exemple : printf("Bonjour \n ");

12/07/2021 24
La fonction printf (3)
 Affichage de(s) variable (s):
◦ printf exige l’utilisation des formats de sortie associés aux types
prédéfinis par C
printf("format de l'affichage", variables);
Exemple
int i =8;int j = 10;
printf("i vaut: %d et j vaut: %d \n",i,j);

float r = 6.28;
printf("le rayon = %f \n",r);
◦ formats:
%c caractère %s chaîne de caractères
%f double %d entier

12/07/2021 25
Les différents formats de sortie

12/07/2021 26
Autres fonctions d’affichage
 char c; putchar(c);

 puts(« texte »);

12/07/2021 27
Opérateurs (1)
 Affectation: Donner une valeur à la variable

Exemple:
Void main()
{ int i,j, x=8;
j=2;
i=4+j;
x=(i*j)-x;}

12/07/2021 28
Opérateurs (2)

 Opérateurs arithmétiques
◦ +,-,*, /  opérateurs arithmétiques de base
◦ %  reste d'une division entière
◦ Incrémentation: i=i+1; ou i++;
◦ Décrémentation: i=i-1; ou i--;

12/07/2021 29
Opérateurs (3)

 Opérateurs logiques
◦ Bit à bit (appliqués pour les entiers et les réels)
 ==  test d'égalité
 != test de différence
 <, >, <=, >= test de comparaison
◦ Booléens (appliqués pour les expressions)
 !  négation
 ||  ou logique pour évaluer une expression
 &&  et logique pour évaluer une expression

12/07/2021 30
Opérateurs (4)

 Opérateurs combines
Si on a :
expression1=expression1 op expression 2

expression1op= expression 2
Exemple:
a=a+b; a+=b

12/07/2021 31
Instructions de base (2)

 Exemples :
◦ a = 2+3
◦ r = 3%2
◦ a = (3==3)
◦ a = (6==5)
◦ a = (2!=3)
◦ a = (6<=3)
◦ a = !1
◦ a =((3==3) && (6<=3))

12/07/2021 32
Priorité des opérateurs

12/07/2021 33
Éléments à considérer lors du passage de
la structure d'algorithme au programme

◦ Déclaration des variables et des constantes


◦ Lecture des données
◦ Écriture de l'algorithme
◦ Affichage des résultats

12/07/2021 34

You might also like