Les chaînes de caractères

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Introduction au Langage C,C++
Programmation Orienté Objet en C++
Les procédures et interruptions en Assembleur (Tasm)
Initiation à la programmation et algorithmique cours 4
Le langage C++ Les types structurés
Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Types, variables et constantes.
(Classes prédéfinies – API Java)
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Structures et unions types énumérés Qu'est-ce qu'une structure
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
8. Les tableaux P. Costamagna – ISEN N1.
Initiation à la programmation et algorithmique cours 3
1 Une introduction à Java IFT 287 (Semaine 1). 2 Java - Historique Développé par Sun Microsystems en 1994 –Inventeur James Gosling (canadien!) Objectif.
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
CPI/BTS 2 Programmation Web Introduction au PHP
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Standard Template Library (STL)
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Programmation Initiation Aux Langages C et C++ (2) Bruno Permanne 2006.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Structures de données IFT-2000
Conteneurs STL.
Le langage Javascript pour le web
Une nouvelle structure de données : les tableaux
Manipulation de formulaires en Javascript
Sixième cours Les chaînes de caractères et le passage de paramètres par référence Passage de paramètres par référence String.h.
Principes de programmation
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
8PRO100 Éléments de programmation Les chaînes de caractères.
Standard Template Library
LANGAGE C LP A2I IUT St DIE
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.
Plan cours La notion de pointeur et d’adresse mémoire.
Types de données fondamentaux
La librairie assert.h.
Faculté Polytechnique de Mons
L’essentiel du langage C
Animateur : Med HAIJOUBI
Stocker plusieurs valeurs de même type dans une variable
4 Introduction des objets. Les chaînes et tableaux
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
Labo II : Tableaux et pointeurs
La notion de type revisitée en POO
SIF-1053 Architecture des ordinateurs
8PRO107 Éléments de programmation Les chaînes de caractères.
Strings et Tableaux en Java
8PRO100 Éléments de programmation Les pointeurs de caractères.
Cours LCS N°4 Présenté par Mr: LALLALI
Points importants de la semaine Les caractères.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
1 Les caractères En informatique, les caractères sont très importants puisqu’ils sont utilisés pour la communication personne-machine. Puisque les ordinateurs.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Les bases de l’algorithmique
Langage de programmation
Exercices.
Algorithmique Tableaux de données
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Dialogue Homme/Machine Terminal Magelis XBT
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Informatique 2A Langage C 5ème séance. Déroulement de la séance 5 1 ère partie Étude des chaînes de caractères 2 ème partie Les structures 3.
Transcription de la présentation:

Les chaînes de caractères Le type « chaîne » n’existe pas en C,C++. certains ont été développé dans des librairies: string (librairie STL). CString (librairie MFC). En langage C++: Une chaîne de caractères est un tableau d’élément de type char. Dont le dernier élément est le caractère nul ‘\0’. (code ASCII: 0). Ce caractère n’est pas affichable. Il indique la fin de la chaîne de caractères. Exemple: La chaîne "Bonjour" est représentée par : B o n j u r \0 Bases de la programmation en C++

Comment déclarer une chaîne de caractères On déclare un tableau de caractères. De taille LongeurChaine + 1 (réservation de place en mémoire) char Nom_du_tableau[Nombre_elements + 1] ; On peut mettre une taille max (ex: 200). La chaîne se terminera au ‘\0’. (on aura réserver de la place pour rien) Exemples B o n j u r \0 char mot [ 50 + 1] ; char phrase [ 250 ] ; Bases de la programmation en C++

Initialisation d’une chaîne Caractère par caractère char mot [3 +1 ]; //déclaration //Initialisation mot [0] =‘a’; mot [1] =‘i’; mot [2] =‘e’; mot [3] =‘\0’; A la déclaration //comme un tableau char phrase [200] = { 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' }; // spécifique aux chaîne de caractères // le caractère de fin de chaîne est géré automatiquement char phrase [200] = "Bonjour" ; Bases de la programmation en C++

Initialisation d’une chaîne Exemple char MonMot [4 + 1] ; // réservation de place en mémoire MonMot [0] = ‘M’; //initialisation caractère par caractère MonMot [1] = ‘i’; MonMot [2] = ‘a’; MonMot [3] = ‘m’; MonMot [4] = ‘\0’; // Déclaration + initialisation // initialisation comme un tableau classique char MonMot [4 + 1] = { ‘M’, ‘i’, ‘a’, ‘m’, ‘\0’ } ; // Déclaration + initialisation //Spécifique aux chaînes de caractères char MonMot [4 + 1] = "Miam" ; // le ‘\0’ est rajouté automatiquement Bases de la programmation en C++

Caractères spéciaux \0 caractère de fin de chaîne \" guillemet \\ barre oblique. \n retour à la ligne \r retour chariot cout<<"PinPon"; cout<<"Pin\0Pon"; cout<<"Pin\\Pon"; cout<<"Pin\nPon"; cout<<"Pin\rPon"; > PinPon > Pin > Pin\Pon Pon > Pon Bases de la programmation en C++

Exemple int LongueurChaine( char ch[ ] ); // Déclaration de la fonction LongueurChaine int main() { char chaine[255] = "Bonjour"; int longueur = LongueurChaine(chaine); cout<<longueur<<endl; // Le programme affiche 7 } /* Définition de la fonction LongueurChaine. */ int LongueurChaine( char ch[ ] ) int i = 0; while ( ch[i] != ‘\0’) // on parcours la chaîne jusqu’à arriver au caractère ‘\0’ i++; return i; Bases de la programmation en C++

Restriction On ne peut pas affecter une chaîne en dehors de la déclaration. On ne peut pas affecter une chaîne à une autre. On ne peut pas comparer deux chaînes . char mot[8] = "bonjour"; // OK char mot[8] ; mot = "bonjour"; // ERREUR char mot1[8] ; char mot2[8] ; // déclaration de deux chaînes … mot1 = mot2; // ERREUR char mot1[8] , char mot2[8] ;// déclaration de deux chaînes … if(mot1 == mot2) // ERREUR Bases de la programmation en C++

Fonctions de la bibliothèque standard Fonctions de manipulation de chaînes de caractères. (définies dans string.h). Strlen ( char Ch[ ]) Retourne la longueur de la chaîne Ch. Strcpy ( char ChDest[ ] , char ChSource[ ] ) Copie la chaîne ChSource dans ChDest. Strcmp ( char Ch1[ ] , char Ch2[ ]) Retourne 0 si les 2 chaînes sont identiques. Strcat (char ChDest[ ] , char ChSource[ ] ) Recopie la chaine ChSource à la suite de ChDest. Bases de la programmation en C++

Exemple int main() { // on déclare 2 chaînes char chaine1[200] = "bonjour"; char chaine2[200]; // L’utilisateur rentre chaine2 cout<<"Ecrivez votre nom"<<endl; cin >> chaine2; //on ajoute un espace à chaine1 strcat(chaine1," "); //on ajoute chaine2 à chaine1 strcat(chaine1,chaine2); cout<<chaine1<<endl; } > Ecrivez votre nom Guillaume > bonjour Guillaume Bases de la programmation en C++

Code ASCII et caractères En c++, un caractère est équivalent à son code ASCII (0 => 255). Exemple: char ascii='a'; cout<< ascii; char ascii='a‘+1; int ascii='a’; char ascii=99 > a > b > 97 > c Bases de la programmation en C++

Complément TP5 Écrire une fonction qui prend en paramètre le nom d’un étudiant et renvoie sa note Prototype Int GetNote(const char nom[ ], const etudiant Tab[ ], const int n); Bases de la programmation en C++