Extrait du cours de C/C++ par la pratique
D’abord le type de donné est spécifié avec des codes qui diffèrent entre printf et scanf, par exemple le %d par rapport au %i pour spécifier un entier. Ensuite chaque variable doit etre spécifiée par référence, et c’est ¸ca la signification du caractère ’&’ dans le listing. Finalement une référence à une chaine de caractère en C est le nom de la chaine elle-meme, contrairement aux autres types. Il est facile de se tromper !
Exercice 7 (Utilisation de scanf ) On peut demander à scanf de lire plus d’un type à la fois. Réécrivez l’exemple donné pour lire d’un coup les 3 types (entier, flottant et chaine de caractère) au moyen d’un seul appel à scanf.
Exercice 8 (Lecture d’une chaine avec espaces) Vous pouvez noter que lorsque vous entrez une chaine avec espace dans le programme du listing 4.6, seul le premier mot est lu. Comment remédier à ce problème ?
Il y a plusieurs solutions, lisez la page du manuel sur scanf et tentez de lire les mots les uns après les autres. Il vous faudra sans doute une fonction pour concaténer des chaines de caractère : essayez strcat. Cette solution est-elle acceptable ?
4.2.4 Entrée standard en C++
L’entrée standard en C++ se fait par la classe cin (console input) et par l’opérateur >> comme dans l’exemple du listing 4.7
On voit que l’entrée en C est plus simple et intuitive, mais on ne sait toujours pas lire une chaine de caractère avec espaces avec >>. Cependant on peut le faire avec getline() comme dans le listing 4.8
Vous en savez assez pour faire un petit exercice un peu plus complet:
Exercice 9 (Entrée de matrice) ´Ecrivez un programme qui lit deux matrice 2 × 2 sur l’entrée standard, qui en calcule le produit et l’affiche à l’écran de manière raisonnable. Il est conseillé de représenter les matrices par des tableaux simples et de faire les calculs d’indices à la main, mais vous pouvez aussi utiliser les types de tableaux à deux indices.
4.2.5 Fichiers en C
Les entrées-sorties à la console sont utiles dans une certaine mesure, mais on a souvent besoin de lire/écrire des données en quantité importantes (des images par exemples). Pour cela on passe généralement par des fichiers sur disque.
En C pur, il y a trois fa¸cons générales de lire/écrire dans un fichier, soit caractère par caractère, soit par accès avec tampon, soit par accès sans tampon. Un tampon permet de limiter les accès au système d’exploitation et donc d’etre relativement plus efficace dans
certains cas.
Accès caractère par caractère
Les accès caractères par caractères sont une extension simple des entrées/sorties consoles, ou on suppose qu’on a affaire à un ou des fichiers obtenu par redirection de l’entrée/sortie standard. Le listing 4.9 propose une illustration.
Il s’utilise de la fa¸con suivante (sous Unix/Linux et Windows) :
……..
Sommaire: Cours de C/C++ par la pratique
1 Comment démarrer ?
1.1 Un programme simple en C pur
1.2 Un programme en C++
1.3 La suite
1.3.1 L’outil make
1.3.2 Autres outils
2 Introduction
2.1 Pourquoi parler à la fois de C et de C++
2.2 C, C++ et Java
2.2.1 Ce qui est pareil
2.2.2 Ce qui diffère entre C/C++ et Java
2.2.3 Ce qui diffère entre C et C ++
2.3 Style
2.3.1 Indentation
2.3.2 Commentez
3 Bases
3.1 Déclaration / définition
3.2 Types
3.2.1 Types en C
3.2.2 Tableaux
3.3 Pièges
3.4 Préprocesseur
3.4.1 Inclusion
3.4.2 Directives préprocesseurs
3.4.3 Compilation conditionnelle
3.4.4 Autres
4 Entrées – sorties
4.1 Hello
4.2 Lecture/écriture
4.2.1 Sortie standard en C
4.2.2 Sortie standard en C++
4.2.3 Entrée standard en C
4.2.4 Entrée standard en C++
……
Cours de C/C++ par la pratique (488 KO) (Cours PDF)