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

Chap1_Entrees_Sorties.pptx

  • 1.
  • 2.
    Objectifs A la finde 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 • Notionsde base • Lecture & Ecriture des données 3
  • 4.
    4 Introduction ▪ Le langageC ▪ 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 programmeC (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 programmeC (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 programmeC (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 programmeC (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 unprogramme exécutable ? 10 1). Ecriture des fichiers source *.c 2). Compilation 3). Edition des liens
  • 11.
    Remarques ✔Les commentaires sontutilisé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
  • 12.
  • 13.
    Notions de base ▪Les variables ▪ Les opérateurs 13
  • 14.
    14 Les variables • Lesvariables 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-cequ'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
  • 20.
  • 21.
    Lecture & Ecriturede données 21
  • 22.
    22 Affichage de données Fonctionprintf() 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 Fonctionscanf() Scanf (“Format ", & NomVar); ⇒ permet de lire des chaînes de caractères et traite des données de types différents
  • 24.
  • 25.
  • 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érateursde 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érateursd’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émentset 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.