Type de données Char C++ avec exemples
Qu'est-ce que Char ?
Char est un type de données C++ conçu pour le stockage de lettres. Char est un acronyme pour un personnage. Il s'agit d'un type de données intégral, ce qui signifie que la valeur est stockée sous forme d'entier. Un char prend une taille de mémoire de 1 octet. Il stocke également un seul caractère.
Dans ce didacticiel C++, vous apprendrez :
- Qu'est-ce que Char ?
- Qu'est-ce que l'ASCII ?
- Déclaration de char
- Syntaxe :
- Impression de la valeur ASCII
- Impression de la valeur du caractère
- Saisir des caractères
- Convertir un caractère en chaîne
Qu'est-ce que l'ASCII ?
La valeur char est interprétée comme un caractère ASCII. Ceci est similaire à la façon dont les valeurs booléennes sont interprétées comme étant vraies ou fausses. ASCII est l'acronyme de American Standard Code for Information Interchange. Il définit une manière spécifique de représenter les caractères anglais sous forme de nombres.
Les nombres sont compris entre 0 et 127. Par exemple, le caractère "a" équivaut au code ASCII 97.
Déclaration de caractère
Pour déclarer une variable char en C++, nous utilisons le mot-clé char. Celui-ci doit être suivi du nom de la variable. La variable peut être initialisée au moment de la déclaration. La valeur de la variable doit être entourée de guillemets simples.
Syntaxe :
Voici la syntaxe de la déclaration char en C++ :
char variable-name;
Le nom-variable est le nom à attribuer à la variable.
Si une valeur est à affecter lors de la déclaration, vous pouvez utiliser cette syntaxe :
char variable-name = 'value';
- Le variable-name est le nom de la variable char.
- La valeur est la valeur à attribuer à la variable char.
Exemple 1 :
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Inclure l'espace de noms std dans notre code afin d'utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Déclarez une variable de caractère nommée grade. La variable a également reçu la valeur B. Notez que la valeur de la variable est entourée de guillemets simples.
- Imprimez la valeur de la note variable à côté d'un autre texte sur la console.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
Impression de la valeur ASCII
Comme indiqué ci-dessus, chaque caractère est interprété comme un caractère ASCII. Il vous est possible d'obtenir la valeur ASCII de n'importe quel caractère. Vous passez simplement le caractère à la fonction int(). Ce processus est appelé coulée de type. Démontrons ceci :
Exemple 2 :
#include <iostream> using namespace std; int main() { char ch; cout << "Enter any character: "; cin >> ch; cout << "The ASCII Value of " << ch << " is " << int(ch); return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code afin d'utiliser ses fonctions.
- Inclure l'espace de noms std dans notre code afin d'utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Déclarez une variable char nommée ch.
- Imprimez du texte sur la console. Le texte demande à l'utilisateur d'entrer une valeur pour la variable ch.
- Lire la saisie de l'utilisateur au clavier et la stocker dans la variable ch.
- Imprimez du texte sur la console. Le texte comprendra le caractère que vous avez saisi pour la variable ch, la valeur ASCII de ce caractère et d'autres textes.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
Impression de la valeur des caractères
Étant donné une valeur ASCII, le compilateur C++ peut renvoyer le caractère correspondant. Vous déclarez une variable char et lui attribuez une valeur entière. Il sera converti en la valeur de caractère correspondante.
Exemple 3 :
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans le code. Nous utiliserons alors ses fonctions sans obtenir d'erreurs.
- Incluez l'espace de noms std dans le code. Nous allons utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit entrer dans le corps de cette fonction.
- Déclarez trois variables char x, y et z. Les trois ont reçu des valeurs entières de 65, 66 et 67. Celles-ci seront traitées comme des valeurs ASCII pour les caractères.
- Imprimez la valeur de la variable x sur la console. Étant donné que x a été déclaré en tant que caractère, le caractère avec la valeur ASCII de 65 sera renvoyé, c'est-à-dire A.
- Imprimez la valeur de la variable y sur la console. Étant donné que y a été déclaré en tant que caractère, le caractère avec la valeur ASCII de 66 sera renvoyé, c'est-à-dire B.
- Imprimez la valeur de la variable z sur la console. Comme z a été déclaré en tant que caractère, le caractère avec la valeur ASCII de 67 sera renvoyé, c'est-à-dire C.
- Le programme doit renvoyer une valeur en cas de réussite.
- La fin du corps de la fonction main().
Saisir des caractères
Nous pouvons utiliser la fonction std ::cin pour lire un caractère saisi par l'utilisateur via le clavier. Le std ::cin vous permettra d'entrer de nombreux caractères. Cependant, la variable caractère ne peut contenir qu'un seul caractère. Cela signifie que seul le premier caractère saisi sera extrait et stocké dans la variable de caractère. Le reste restera dans le tampon utilisé par std::cin. Pour l'extraire, effectuez des appels ultérieurs à std::cin.
Exemple 4 :
#include <iostream> using namespace std; int main() { cout << "Type a sequence of characters: "; char ch; cin >> ch; cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n'; cin >> ch; cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n'; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Imprimez du texte sur la console.
- Déclarez une variable de caractère nommée ch.
- Lire les entrées de l'utilisateur à partir du clavier. L'entrée sera stockée dans la variable ch. Puisqu'un utilisateur tapera une séquence de caractères comme abc, seul le premier caractère, a, sera stocké dans la variable ch.
- Imprimer le premier caractère saisi, son code ASCII et d'autres textes sur la console. Le code ASCII est déterminé en passant la variable caractère à la fonction int().
- Lire le prochain caractère saisi par l'utilisateur. L'utilisateur ne sera pas obligé d'entrer un nouveau caractère. Il lira à la place le deuxième caractère saisi, c'est-à-dire b.
- Imprimer le deuxième caractère saisi, son code ASCII et d'autres textes sur la console. Le code ASCII est déterminé en passant la variable caractère à la fonction int().
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
Convertir un caractère en chaîne
Il existe un certain nombre de façons que nous pouvons utiliser pour convertir des caractères en chaînes.
Discutons-en :
#1 :Utiliser un constructeur donné par une classe de chaîne
Cela peut être fait en utilisant la syntaxe suivante :
string st(int n,char x);
Le paramètre n indique la taille de la chaîne qui doit être générée.
Le paramètre x est le caractère à convertir en chaîne.
La fonction renvoie une chaîne.
Exemple 5 :
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez le fichier d'en-tête de chaîne dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Convertissez le caractère "C" en une chaîne de longueur 1 et affectez la chaîne résultante à la variable st.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
#2) Utilisation des opérateurs std::string =et +=
Les opérateurs =et +=sont déjà surchargés de caractères. Les deux peuvent être utilisés pour convertir un caractère particulier en une chaîne.
Exemple 6 :
#include<iostream> #include <string> using namespace std; int main() { string st; char b = 'B'; st = 'A'; st += b; cout << "The resulting string is : " << st; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez le fichier d'en-tête de chaîne dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Créez une variable de chaîne nommée st.
- Créez un personnage nommé b avec une valeur de B.
- Attribuez la valeur A à la chaîne nommée st.
- Utilisez l'opérateur +=pour convertir des caractères en une chaîne.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
#3 :Utilisation des méthodes std ::string
La classe std::string est livrée avec de nombreuses fonctions surchargées qui peuvent vous aider à convertir des caractères en chaînes.
Ils incluent :
- push_back
Cette fonction affecte un caractère particulier à la fin d'une chaîne. Il est surchargé de caractères.
Il prend la syntaxe suivante :
void push_back(char ch)
Le paramètre ch est le caractère qui doit être changé en chaîne.
- ajouter
Il attribue plusieurs copies d'un caractère particulier à une chaîne.
La fonction prend la syntaxe suivante :
string& append(size_t n,char ch)
Le paramètre n indique les fois où le caractère sera ajouté.
Le paramètre ch est le caractère à ajouter à la chaîne.
- assigner
Cette fonction remplace le contenu actuel de la chaîne par n copies du caractère spécifié.
Il prend la syntaxe suivante :
string& assign(size_t n,char ch);
Le paramètre n indique le nombre total de copies pour le personnage.
Le paramètre ch est le caractère à copier dans la chaîne.
- insérer
La fonction insert insère n copies d'un caractère à la position de départ de la chaîne, comme spécifié dans les arguments.
Il prend la syntaxe suivante :
string& insert(size_t p,size_t n,char ch);
Le paramètre p indique la position depuis le début où les caractères seront insérés.
Le paramètre n indique le nombre total de copies pour le personnage.
Le paramètre ch est le caractère à insérer dans la chaîne.
Exemple 7 :
#include<iostream> #include <string> using namespace std; int main() { string st; st.push_back('A'); cout << "push_back A returns : " << st << endl; st = ""; st.append(1, 'C'); cout << "append C returns : " << st << endl; st = ""; st.assign(1, 'D'); cout << "assign D returns : " << st << endl; st.insert(0, 1, 'E'); cout << "insert single character returns : " << st << endl; return 0; }
Sortie :
Voici une capture d'écran du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez le fichier d'en-tête de chaîne dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Créez une variable de chaîne nommée st.
- Attribuez le caractère A à la fin de la chaîne.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte. Le endl (fin de ligne) déplace le curseur à la ligne suivante.
- Définissez la valeur de la chaîne st sur vide.
- Attribuez un seul caractère C à la chaîne nommée st.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte. Le endl (fin de ligne) déplace le curseur à la ligne suivante.
- Définissez la valeur de la chaîne st sur vide.
- Remplacez le contenu de la chaîne st par un seul caractère D.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte. Le endl (fin de ligne) déplace le curseur à la ligne suivante.
- Insérez un seul caractère E dans la chaîne nommée st à partir de son premier index.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte. Le endl (fin de ligne) déplace le curseur à la ligne suivante.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
#4 : Utiliser std::stringstream
Pour utiliser cette classe pour convertir un caractère en chaîne, insérez le caractère dans le flux.
Ils seront écrits dans la chaîne.
Exemple 8 :
#include<iostream> #include <string> #include <sstream> using namespace std; int main() { string st; stringstream myst; myst << 'A'; myst >> st; cout << "The conversion of the single character returns the string: " << st; return 0; }
Sortie :
Voici une capture d'écran du code :
Explication du code :
- Inclure le fichier d'en-tête iostream dans notre code pour utiliser ses fonctions.
- Incluez le fichier d'en-tête de chaîne dans notre code pour utiliser ses fonctions.
- Inclure le fichier d'en-tête sstream dans notre code pour utiliser ses fonctions.
- Incluez l'espace de noms std dans notre code pour utiliser ses classes sans l'appeler.
- Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
- Créez une variable de chaîne nommée st.
- Créez une variable de flux nommée myst.
- Insérez le caractère A dans l'objet de flux nommé myst.
- Convertir l'objet flux en chaîne.
- Imprimez la valeur de la chaîne st sur la console à côté d'un autre texte. Le endl (fin de ligne) déplace le curseur à la ligne suivante.
- Le programme doit renvoyer une valeur en cas de réussite.
- Fin du corps de la fonction main().
Résumé :
- Un char est un type de données C++ utilisé pour le stockage des lettres.
- C++ Char est un type de données intégral, ce qui signifie que la valeur est stockée sous la forme d'un entier.
- Il occupe une taille mémoire de 1 octet.
- C++ Char ne stocke qu'un seul caractère.
- Les valeurs char sont interprétées comme des caractères ASCII.
- ASCII est l'acronyme de American Standard Code for Information Interchange.
- Il indique une manière spécifique de représenter les caractères anglais sous forme de nombres.
- Pour voir la valeur ASCII d'un caractère, nous la passons à la fonction int().
- Pour voir la valeur char correspondante de la valeur ASCII, nous définissons l'ASCII comme un caractère.
Langue C