SlideShare une entreprise Scribd logo
Chapitre 1: Entrées-Sorties
Niveau: 1A
1
Objectifs
A la fin de ce chapitre, l’étudiant sera capable de:
• Connaître la structure d’un programme C.
• Manipuler les variables et les opérateurs de base en C.
• Connaître et utiliser les fonctions de lecture et d’écriture en C.
2
Plan
• Introduction
• Notions de base
• Lecture & Ecriture des données
3
4
Introduction
▪ Le langage C
▪ Structure d’un programme C
▪ Compilation
▪ Remarques
5
Le langage C
• Crée par K. Thompson, D. Ritchie et B. Kernighan pour développer UNIX.
• C’est le langage le plus utilisé par les professionnels du logiciel.
• Il a influencé de nombreux langages plus récents dont C++ et Java.
Structure d’un programme C (1/4)
• En langage C le programme principal et les sous programmes sont définies comme des
fonctions.
• La fonction particulière nommée main() est la fonction principale d’un « programme C »
6
<include des bibliothèques>
void main()
{
< Traitements >;
}
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Syntaxe: Programme:
Bienvenue à ESPRIT
Exécution:
Structure d’un programme C (2/4)
7
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Programme:
main est toujours la fonction
principale d’un programme C
Début du bloc d’instructions
Fin du bloc d’instructions
Structure d’un programme C (3/4)
8
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf(" Bienvenue à ESPRIT" );
}
Programme:
Commentaires
Structure d’un programme C (4/4)
9
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
void main() /* Notre premier programme en C */
{
printf (" Bienvenue à ESPRIT" );
}
Programme:
Fonction affichant à l’écran une
chaîne de caractères
Bienvenue à ESPRIT
Inclusion de la bibliothèque contenant la fonction printf
Comment Créer un programme exécutable ?
10
1). Ecriture des fichiers source *.c
2). Compilation
3). Edition des liens
Remarques
✔Les commentaires sont utilisés pour des raisons de lisibilité et de compréhension du
programme. Un commentaire est une chaîne de caractères comprise entre /* et */ , ou
bien //
✔Cette chaîne est ignorée par le compilateur C et peut déborder sur plusieurs lignes.
✔ Le langage C distingue les minuscules, des majuscules.
✔Les mots réservés (exemples : for, while, return, struct …) du langage C doivent être
écrits en minuscules.
11
Exercice d’application
⮚ Exercice 1 de la série
12
Notions de base
▪ Les variables
▪ Les opérateurs
13
14
Les variables
• Les variables permettent de représenter les données d’un programme.
• Chaque variable est matérialisée par un emplacement mémoire identifié par un nom.
• Chaque variable possède :
1. un nom
2. un type
3. une valeur
15
Les variables
• Qu'est-ce qu'une variable ?
1. Le nom d’un emplacement mémoire
2. On en crée presque autant qu’on veut
3. Son contenu peut changer dans le temps
4. Elle contient toujours quelque chose
Une variable sera toujours définie avant utilisation : elle doit être associée à un type de données
16
Les variables ( Nom )
• Un nom de variables:
⮚ Contient 32 caractères max
⮚ Commence par une lettre ou le symbole _
⮚ C distingue les majuscules et les minuscules.
compteur ’ et ‘ Compteur’ sont deux variables différentes
⮚ Ne peut pas être un des mots réservés du C: Int, char, float, if ….
⮚ Le choix des noms est important pour la lisibilité du programme
17
Les variables ( Type )
Types Réels
C est un langage typé:
Types Entiers
Types de base en C
⬥ int : entier standard
⬥ short : entier court
⬥ long : entier long
Le langage C implémente le type
char qui est en fait numérique.
⬥ char : caractère
⬥ float : réel
⬥ double : réel double
⬥ long double : réel long double
18
Les variables ( Type : Entiers )
Type Nombre d’octets Domaine
int 4 [-231, 231-1]
unsigned int 4 [0, 232-1]
short 2 [-32768, 32767]
unsigned short 2 [0, 65535]
long 4 [-231, 231-1]
unsigned long 4 [0, 232-1]
char 1 [-128, 127]
Unsigned char 1 [0, 255]
Float 4 [-3.4*1038, 3.4*1038]
double 8 [-1.7*10308, 1.7*10308]
long double 10 [-3.4*104932, 1.7*104932]
Entiers
Réels
19
Les variables ( Exemple )
#include <stdio.h> /* Bibliothèque d’entrées-sorties standard */
int main()
{
int a; // déclaration
a=127; // affectation
printf("la valeur de a = %d",a); // affichage de la valeur de a
}
main est toujours la fonction
principale d’un programme
C
Début de bloc d’instructions
Fin de bloc d’instructions
Exercice d’application
⮚ Exercice 2 de la série
20
Lecture & Ecriture de données
21
22
Affichage de données
Fonction printf()
printf (" text Format de nomvar ", NomVar );
⇒ Permet d’afficher des chaînes de caractères et des données de types différents
Format Données
%d Nombre entier
%u Nombre entier non signé
%c Caractère
%f Nombre à virgule flottante: Réel
23
Lecture de données
Fonction scanf()
Scanf (“Format ", & NomVar);
⇒ permet de lire des chaînes de caractères et traite des données de types différents
Exercice d’application
⮚ Exercice 3 de la série
24
Opérateurs
25
Opérateurs de base
26
• Opérateurs arithmétiques :
▪ + : addition ⮊ a + b
▪ - : soustraction ⮊ a – b
▪ * : multiplication ⮊ a * b
▪ / : division (entière et rationnelle) ⮊ a / b
⬥ Si a et b sont des entiers (a = 7; b = 2) a / b donne 3
⬥ Si a ou b est un réel (a = 7; b = 2.0) a / b donne 3.5
▪ % : modulo (reste de la division entière) ⮊ a % b
⬥ a = 7; b = 2 alors a % b donne 1
Opérateurs de base
27
▪ && : et logique (AND)
▪ || : ou logique (OR)
▪ ! : négation (NOT)
a b a && b a || b ! a
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
• Pas de type booléen en C Les opérateurs logiques considèrent toute valeur différente de
zéro comme vrai et zéro comme faux.
(4 < 10) 1 (vrai)
!(5 > 1) 0 (faux)
Opérateurs ( Opérateurs de comparaison )
• Opérateurs de Comparaison : (1: vrai ou 0: faux)
▪ == : égal à ⮊ a == b
▪ != : différent de ⮊ a != b
▪ < : strictement inférieur ⮊ a < b
▪ <= : inférieur ou égal ⮊ a <= b
▪ > : strictement supérieur ⮊ a > b
▪ >= : supérieur ou égal ⮊ a >= b
28
Opérateurs ( Opérateurs d’affectation )
29
⮚ Affectation simple
int x;
x = 4;
⮚ Affectation combinée
var1 = (var1) op (var2) var1 op= var2
⮚ Affectation simple
int x;
x = 2;
x = x + 1; x++; x+=1;
i += 1 ;
i = i + 1;
Opérateurs ( Incréments et décréments )
30
• Incréments et décréments:
▪ ++ : augmentation de 1
y = x++; y = x; x = x+1;
▪ -- : diminution de 1
int x = 3; y 3 x 4
y = x--; y = x; x = x-1;
x++; x = x+1;
x--; x = x-1;
y = ++x x = x + 1; y = x; x 4 y 4
Les priorités
31
Priorité 1 (la plus forte) ( )
Priorité 2 ! ++ --
Priorité 3 * / %
Priorité 4 + -
Priorité 5 < <= > >=
Priorité 6 == !=
Priorité 7 &&
Priorité 8 ||
Priorité 9 (la plus faible) = += -= *= /= %=
• L’ordre d ’évaluation des différentes parties d’une expression est en principe le même
qu’en mathématiques. x = 2 + a - 5 * 4 – b / c + 6; ?
Exercice d’application
⮚ Exercice 5 et 6 de la série
32

Contenu connexe

Similaire à Chap1_Entrees_Sorties.pptx

CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
SiratiSoufiane
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
rezgui mohamed
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
Fahad Golra
 
Ch02
Ch02Ch02
Ch02
yarsenv47
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
EmnaBenSaid2
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
Loic Yon
 
langage C++
langage C++langage C++
langage C++
mohamednacim
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
Aziz Darouichi
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
LuneSabsPericolo1
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
Loic Yon
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
mohamedAitomar1
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
mohamedAitomar1
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
IbtissameAbbad1
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
AboubacarDiarra10
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
Fahad Golra
 
présentation introduction langage c++.pptx
présentation introduction langage c++.pptxprésentation introduction langage c++.pptx
présentation introduction langage c++.pptx
saadbellala
 
Le langage C
Le langage CLe langage C
Le langage C
Bruno Delb
 
Langage c
Langage cLangage c
Langage c
Charifa Ouhaga
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
Loic Yon
 
cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++
Abdoulaye Dieng
 

Similaire à Chap1_Entrees_Sorties.pptx (20)

CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
Ch02
Ch02Ch02
Ch02
 
Language-C.ppt
Language-C.pptLanguage-C.ppt
Language-C.ppt
 
Cours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMACours de C++ / Tronc commun deuxième année ISIMA
Cours de C++ / Tronc commun deuxième année ISIMA
 
langage C++
langage C++langage C++
langage C++
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
 
Introduction au langage python notion de base
Introduction au langage python notion de baseIntroduction au langage python notion de base
Introduction au langage python notion de base
 
Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)Introduction au langage python (Notion de base)
Introduction au langage python (Notion de base)
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdf
 
Seance 3- Programmation en langage C
Seance 3- Programmation en langage C Seance 3- Programmation en langage C
Seance 3- Programmation en langage C
 
présentation introduction langage c++.pptx
présentation introduction langage c++.pptxprésentation introduction langage c++.pptx
présentation introduction langage c++.pptx
 
Le langage C
Le langage CLe langage C
Le langage C
 
Langage c
Langage cLangage c
Langage c
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 
cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++cpp1 : Quelques elements de base du C++
cpp1 : Quelques elements de base du C++
 

Dernier

4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
BenotGeorges3
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
bibliogard
 
Épreuve de leçon SII.pptx
Épreuve de leçon  SII.pptxÉpreuve de leçon  SII.pptx
Épreuve de leçon SII.pptx
SAIDALI701276
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
Formation M2i - Prise de parole face caméra : performer en distanciel
Formation M2i - Prise de parole face caméra : performer en distancielFormation M2i - Prise de parole face caméra : performer en distanciel
Formation M2i - Prise de parole face caméra : performer en distanciel
M2i Formation
 
Cours mécanique des fluides de l’ingénieur
Cours mécanique des fluides de l’ingénieurCours mécanique des fluides de l’ingénieur
Cours mécanique des fluides de l’ingénieur
NdeyeAminataDond
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
schneiderbeatrice78
 
Guide d'utilisation Microsoft PowerPoint 2016
Guide d'utilisation Microsoft PowerPoint 2016Guide d'utilisation Microsoft PowerPoint 2016
Guide d'utilisation Microsoft PowerPoint 2016
ImnaTech
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 

Dernier (17)

4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
Newsletter SPW Agriculture en province du Luxembourg du 17-05-24
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
 
Épreuve de leçon SII.pptx
Épreuve de leçon  SII.pptxÉpreuve de leçon  SII.pptx
Épreuve de leçon SII.pptx
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
Formation M2i - Prise de parole face caméra : performer en distanciel
Formation M2i - Prise de parole face caméra : performer en distancielFormation M2i - Prise de parole face caméra : performer en distanciel
Formation M2i - Prise de parole face caméra : performer en distanciel
 
Cours mécanique des fluides de l’ingénieur
Cours mécanique des fluides de l’ingénieurCours mécanique des fluides de l’ingénieur
Cours mécanique des fluides de l’ingénieur
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
 
Guide d'utilisation Microsoft PowerPoint 2016
Guide d'utilisation Microsoft PowerPoint 2016Guide d'utilisation Microsoft PowerPoint 2016
Guide d'utilisation Microsoft PowerPoint 2016
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 

Chap1_Entrees_Sorties.pptx

  • 2. Objectifs A la fin de ce chapitre, l’étudiant sera capable de: • Connaître la structure d’un programme C. • Manipuler les variables et les opérateurs de base en C. • Connaître et utiliser les fonctions de lecture et d’écriture en C. 2
  • 3. Plan • Introduction • Notions de base • Lecture & Ecriture des données 3
  • 4. 4 Introduction ▪ Le langage C ▪ Structure d’un programme C ▪ Compilation ▪ Remarques
  • 5. 5 Le langage C • Crée par K. Thompson, D. Ritchie et B. Kernighan pour développer UNIX. • C’est le langage le plus utilisé par les professionnels du logiciel. • Il a influencé de nombreux langages plus récents dont C++ et Java.
  • 6. Structure d’un programme C (1/4) • En langage C le programme principal et les sous programmes sont définies comme des fonctions. • La fonction particulière nommée main() est la fonction principale d’un « programme C » 6 <include des bibliothèques> void main() { < Traitements >; } #include <stdio.h> /* Bibliothèque d’entrées-sorties standard */ void main() /* Notre premier programme en C */ { printf(" Bienvenue à ESPRIT" ); } Syntaxe: Programme: Bienvenue à ESPRIT Exécution:
  • 7. Structure d’un programme C (2/4) 7 #include <stdio.h> /* Bibliothèque d’entrées-sorties standard */ void main() /* Notre premier programme en C */ { printf(" Bienvenue à ESPRIT" ); } Programme: main est toujours la fonction principale d’un programme C Début du bloc d’instructions Fin du bloc d’instructions
  • 8. Structure d’un programme C (3/4) 8 #include <stdio.h> /* Bibliothèque d’entrées-sorties standard */ void main() /* Notre premier programme en C */ { printf(" Bienvenue à ESPRIT" ); } Programme: Commentaires
  • 9. Structure d’un programme C (4/4) 9 #include <stdio.h> /* Bibliothèque d’entrées-sorties standard */ void main() /* Notre premier programme en C */ { printf (" Bienvenue à ESPRIT" ); } Programme: Fonction affichant à l’écran une chaîne de caractères Bienvenue à ESPRIT Inclusion de la bibliothèque contenant la fonction printf
  • 10. Comment Créer un programme exécutable ? 10 1). Ecriture des fichiers source *.c 2). Compilation 3). Edition des liens
  • 11. Remarques ✔Les commentaires sont utilisés pour des raisons de lisibilité et de compréhension du programme. Un commentaire est une chaîne de caractères comprise entre /* et */ , ou bien // ✔Cette chaîne est ignorée par le compilateur C et peut déborder sur plusieurs lignes. ✔ Le langage C distingue les minuscules, des majuscules. ✔Les mots réservés (exemples : for, while, return, struct …) du langage C doivent être écrits en minuscules. 11
  • 13. Notions de base ▪ Les variables ▪ Les opérateurs 13
  • 14. 14 Les variables • Les variables permettent de représenter les données d’un programme. • Chaque variable est matérialisée par un emplacement mémoire identifié par un nom. • Chaque variable possède : 1. un nom 2. un type 3. une valeur
  • 15. 15 Les variables • Qu'est-ce qu'une variable ? 1. Le nom d’un emplacement mémoire 2. On en crée presque autant qu’on veut 3. Son contenu peut changer dans le temps 4. Elle contient toujours quelque chose Une variable sera toujours définie avant utilisation : elle doit être associée à un type de données
  • 16. 16 Les variables ( Nom ) • Un nom de variables: ⮚ Contient 32 caractères max ⮚ Commence par une lettre ou le symbole _ ⮚ C distingue les majuscules et les minuscules. compteur ’ et ‘ Compteur’ sont deux variables différentes ⮚ Ne peut pas être un des mots réservés du C: Int, char, float, if …. ⮚ Le choix des noms est important pour la lisibilité du programme
  • 17. 17 Les variables ( Type ) Types Réels C est un langage typé: Types Entiers Types de base en C ⬥ int : entier standard ⬥ short : entier court ⬥ long : entier long Le langage C implémente le type char qui est en fait numérique. ⬥ char : caractère ⬥ float : réel ⬥ double : réel double ⬥ long double : réel long double
  • 18. 18 Les variables ( Type : Entiers ) Type Nombre d’octets Domaine int 4 [-231, 231-1] unsigned int 4 [0, 232-1] short 2 [-32768, 32767] unsigned short 2 [0, 65535] long 4 [-231, 231-1] unsigned long 4 [0, 232-1] char 1 [-128, 127] Unsigned char 1 [0, 255] Float 4 [-3.4*1038, 3.4*1038] double 8 [-1.7*10308, 1.7*10308] long double 10 [-3.4*104932, 1.7*104932] Entiers Réels
  • 19. 19 Les variables ( Exemple ) #include <stdio.h> /* Bibliothèque d’entrées-sorties standard */ int main() { int a; // déclaration a=127; // affectation printf("la valeur de a = %d",a); // affichage de la valeur de a } main est toujours la fonction principale d’un programme C Début de bloc d’instructions Fin de bloc d’instructions
  • 21. Lecture & Ecriture de données 21
  • 22. 22 Affichage de données Fonction printf() printf (" text Format de nomvar ", NomVar ); ⇒ Permet d’afficher des chaînes de caractères et des données de types différents Format Données %d Nombre entier %u Nombre entier non signé %c Caractère %f Nombre à virgule flottante: Réel
  • 23. 23 Lecture de données Fonction scanf() Scanf (“Format ", & NomVar); ⇒ permet de lire des chaînes de caractères et traite des données de types différents
  • 26. Opérateurs de base 26 • Opérateurs arithmétiques : ▪ + : addition ⮊ a + b ▪ - : soustraction ⮊ a – b ▪ * : multiplication ⮊ a * b ▪ / : division (entière et rationnelle) ⮊ a / b ⬥ Si a et b sont des entiers (a = 7; b = 2) a / b donne 3 ⬥ Si a ou b est un réel (a = 7; b = 2.0) a / b donne 3.5 ▪ % : modulo (reste de la division entière) ⮊ a % b ⬥ a = 7; b = 2 alors a % b donne 1
  • 27. Opérateurs de base 27 ▪ && : et logique (AND) ▪ || : ou logique (OR) ▪ ! : négation (NOT) a b a && b a || b ! a 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0 • Pas de type booléen en C Les opérateurs logiques considèrent toute valeur différente de zéro comme vrai et zéro comme faux. (4 < 10) 1 (vrai) !(5 > 1) 0 (faux)
  • 28. Opérateurs ( Opérateurs de comparaison ) • Opérateurs de Comparaison : (1: vrai ou 0: faux) ▪ == : égal à ⮊ a == b ▪ != : différent de ⮊ a != b ▪ < : strictement inférieur ⮊ a < b ▪ <= : inférieur ou égal ⮊ a <= b ▪ > : strictement supérieur ⮊ a > b ▪ >= : supérieur ou égal ⮊ a >= b 28
  • 29. Opérateurs ( Opérateurs d’affectation ) 29 ⮚ Affectation simple int x; x = 4; ⮚ Affectation combinée var1 = (var1) op (var2) var1 op= var2 ⮚ Affectation simple int x; x = 2; x = x + 1; x++; x+=1; i += 1 ; i = i + 1;
  • 30. Opérateurs ( Incréments et décréments ) 30 • Incréments et décréments: ▪ ++ : augmentation de 1 y = x++; y = x; x = x+1; ▪ -- : diminution de 1 int x = 3; y 3 x 4 y = x--; y = x; x = x-1; x++; x = x+1; x--; x = x-1; y = ++x x = x + 1; y = x; x 4 y 4
  • 31. Les priorités 31 Priorité 1 (la plus forte) ( ) Priorité 2 ! ++ -- Priorité 3 * / % Priorité 4 + - Priorité 5 < <= > >= Priorité 6 == != Priorité 7 && Priorité 8 || Priorité 9 (la plus faible) = += -= *= /= %= • L’ordre d ’évaluation des différentes parties d’une expression est en principe le même qu’en mathématiques. x = 2 + a - 5 * 4 – b / c + 6; ?
  • 32. Exercice d’application ⮚ Exercice 5 et 6 de la série 32