SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
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 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
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 CFahad Golra
 
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 ISIMALoic Yon
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz 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).pptxLuneSabsPericolo1
 
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 partieLoic 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 basemohamedAitomar1
 
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
 
Langage de Programmation.pdf
Langage de Programmation.pdfLangage de Programmation.pdf
Langage de Programmation.pdfAboubacarDiarra10
 
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
 
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 partieLoic 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
 
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++
 
Turbo1
Turbo1Turbo1
Turbo1
 

Dernier

Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 

Dernier (16)

Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 

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