Introduction au langage C Les entrées-sorties

Slides:



Advertisements
Présentations similaires
Les Structures.
Advertisements

Premier programme en C :
La boucle for : init7.c et init71.c
Introduction au Langage C,C++
Rappels C.
Développement logiciel sur micro-contrôleurs PIC en C
Algorithmes et structures de données Cours 8
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Lecture et Ecriture.
C.
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
FLSI602 Génie Informatique et Réseaux
Retour au menu principal. Généralités Lenvironnement Laffichage de la fenêtre Déplacement / sélection dans une feuille Classeurs La gestion des classeurs.
Langage de Programmation: I - Le Langage C -
Cours 3 : bases de Matlab Niveau : Licence pétrochimie – deuxième semestre Université du 20 aout 55 – Skikda.
CPI/BTS 2 Programmation Web Introduction au PHP
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Outils de Programmation
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Le multimètre : Appuyer sur la touche F5 de votre clavier
CHAINE DE CARACTERES : Définition :
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Lecture et écriture de données
Les Fichiers.
COURS DE PROGRAMMATION ORIENTEE OBJET :
LANGAGE C LP A2I IUT St DIE
L’essentiel du langage C
Animateur : Med HAIJOUBI
9ième Classe (Mardi, 4 novembre) CSI2572. H Nous avons vu comment utiliser les directives #define #ifndef #endif Pour s’assurer de l’inclusion unique.
CYCLE 1 : Saisir – Afficher – Données Saisir des valeurs de variables au clavier 1- Rôle du scanf() 2- Syntaxe du scanf() 3- Exécution du scanf() par le.
SIF-1053 Architecture des ordinateurs
8PRO107 Éléments de programmation Les chaînes de caractères.
Un survol du language C.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
REPRESENTATION DE L’INFORMATION
Java Les primitives 1. Représentation d’éléments La représentation de n’importe quoi en informatique (chiffres, nombres, lettres, etc.) est composée de.
Introduction au langage C Fonctions et Procédures
Le codage des nombres en informatique
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
IUT SRC Année 2004/2005Antonio Capobianco 1 HTML>Formater du texte>Les titres Définir les titres HTML distingue 6 niveaux de titre : Titre N°1 Titre N°2.
Fiabilisation des lectures au clavier. Problèmes liés à scanf: rencontre de caractères invalides Sans arrêt prématuré: compte = scanf(``%d%c``;&n,&c);
Les algorithmes recursifs
Mettre en formeExaminerManipuler Les fonctions printf() et sprintf Le traitement de chaîne de caractère La fonction printf() formate le contenu d'une chaîne.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Langage Binaire Introduction.
UE MAREP Cours 10 : Projet Patricia Renault UPMC 2005/2006.
Programmation en C.
Les entrées-sorties élémentaires
Codage de l’information
Les structures simples
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
PRO-1027 Programmation Scientifique en C
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Chapitre 4b La représentation des nombres.
Introduction à l’utilitaire
Chapitre 9 Les caractères.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
Algorithmique et langage C
Introduction au langage C
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 1 ère séance.
Département Informatique Codage de l’information Laurent JEANPIERRE IUT de CAEN – Campus 3.
Transcription de la présentation:

Introduction au langage C Les entrées-sorties 1ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: daoudatr2008@gmail.com

Introduction Les entrées-sorties permettent d’afficher des informations à l’écran ou de les lire au clavier ou d’échanger des informations avec des fichiers. Nous nous limiterons aux entrées-sorties standards (affichage sur l’écran et lecture au clavier) Nous allons étudier les fonctions printf et scanf fournies par le langage C. Elles permettent d’afficher des informations à l’écran ou d’en lire au clavier.

La fonction printf Elle permet d’afficher des informations à l’écran. Sa syntaxe est la suivante: printf(chaine de caractères entre guillemet ("  ") contenant éventuellement des codes de format , puis suivis éventuellement d’une virgule suivie d’une liste d’expressions séparées par des virgules d’un types en accord avec le code format correspondant) La chaine de caractères contient à la fois : Des caractères à afficher tels quels, Des « codes de format » repérés par %. Un « code de conversion » (tel que c, d ou f) y précise le type d’information à afficher. Un code de format peut contenir des informations complémentaires agissant sur le « cadrage », le « gabarit » ou la « précision ».

La fonction printf : les principaux codes de conversion c char : caractère affiché « en clair » (peut convenir aussi à short ou int compte tenu des conversions systématiques) d int (peut convenir aussi à short ou char compte tenu des conversions systématiques) u unsigned int (peut convenir aussi à unsigned short ou unsigned char compte tenu des conversions systématiques) ld long lu unisgned long f double ou float : écrit en notation « décimale » avec six chiffres après le point. e double : : écrit en notation « exponentielle (mantisse entre 1 inclus et 10 exclus) » avec six chiffres après le point décimal, sous la forme x.xxxxxxe+yyy ou x.xxxxxxe-yyy pour les nombres positifs et –x.xxxxxxe+yyy ou –x.xxxxxxe-yyy s chaîne de caractère dont fournit l’adresse

La fonction printf : action sur le gabarit d’affichage Par défaut, les entiers sont affichés avec le nombre de caractères nécessaires (sans espaces avant ou après). Les flottants sont affichés avec six chiffres après le point (aussi bien pour le code e que f). Un nombre placé après % dans le code de format précise un gabarit d’affichage, c’est-à-dire un nombre minimal de caractères à utiliser. Si le nombre peut s’écrire avec moins de caractères, printf le fera précéder d’un nombre suffisant d’espaces; en revanche, si le nombre ne peut s’afficher convenablement dans le gabarit imparti, printf utilisera le nombre de caractères nécessaires. Exemples : printf("%4d",n) => si n=15 ^^15 si n= 2 ^^^2 si n=1988 1988 si n=19787 19787 Le symbole ^ représente un espace

La fonction printf : action sur la précision On peut spécifier un nombre de chiffres (éventuellement inférieur à 6) après le point décimal (aussi bien pour la notation décimale que pour la notation exponentielle). Ce nombre doit apparaître, précédé d’un point, avant le code de format (et éventuellement après le gabarit) printf("%10.2f",n) => si n=5.2531 ^^^^^^5.25 si n= 5.2531E3 ^^^5253.10 si n= 5.2531E7 52531000.00 Le signe moins (-), placé immédiatement après le symbole % (comme dans %-5d ou %-8.2f), demande de « cadrer » l’affichage à gauche au lieu de le cadrer (par défaut) à droite; les éventuels espaces supplémentaires sont donc placés à droite et non plus à gauche de l’information affichée. Le caractère * figurant à la place d’un gabarit ou d’une précision signifie que la valeur effective est fournie dans la liste des arguments de printf. Exemple printf("%5.*f",n, x) => n=2, x=1.25478 ^1.25

La fonction scanf Elle permet de lire des informations saisies au clavier. Sa syntaxe est la suivante: scanf(chaine de caractères entre guillemet ("  ") suivie d’une virgule suivie d’une liste d’adresses séparées par des virgules d’un type en accord avec le code format correspondant) La chaine de caractères contient à la fois : Eventuellement des séparateurs Des « codes de format » repérés par %. Un « code de conversion » (tel que c, d ou f) y précise le type d’information à saisir. Un code de format peut contenir des informations complémentaires agissant sur le « cadrage », le « gabarit » ou la « précision ».

La fonction scanf : les principaux codes de conversion c char d int u unsigned int hd short int hu unsigned short ld long int lu unisigned long f ou e float écrit indifféremment dans l’une des deux notations : décimale (éventuellement sans point, c’est-à-dire comme un entier) ou exponentielle (avec la lettre e ou E) lf ou le double écrit indifféremment dans l’une des deux notations : décimale (éventuellement sans point, c’est-à-dire comme un entier) ou exponentielle (avec la lettre e ou E) s chaîne de caractère dont fournit l’adresse Remarque : contrairement à ce qui se passait pour printf, il ne peut plus y avoir ici de conversion automatique puisque l’argument transmit à scanf est l’adresse d’un emplacement mémoire. C’est ce qui justifie l’existence d’un code hd par exemple pour le type short ou encore celle des codes lf et le pour le type double.

La fonction scanf : action sur le gabarit On peut préciser un gabarit dans un code de format scanf. Le traitement d’un code de format s’interrompt soit à la rencontre d’un séparateur (espace, fin de ligne, tabulations (horizontale et verticale), changement de page), soit lorsque le nombre de caractères indiqués a été atteint (les séparateurs éventuellement sautés auparavant ne sont pas comptabilisés) Exemples : Sans gabarit int a; scanf("%d" , &a); valeur 15 => a=15 int a, char c; scanf("%d%c" , &a, &c); valeurs saisie 1512a => a=1512 et c=‘a’ Avec gabarit scanf("%3d%3d",&n,&p) valeur saisie : 12 25 => n=12, p=25 valeur saisie : 12474 => n=124, p=74

La fonction scanf : espace dans le format Un espace entre deux codes de format demande à scanf d’ignorer la prise en compte des séparateurs dans l’analyse de la chaine saisie. C’est déjà le cas lorsque qu’elle analyse les types numériques. Exemples : scanf("%3d %c",&n,&c) valeur saisie : 12 a => n=12, c=a valeur saisie : 12 a b => n=12, c=a