C++ Tip de date Char cu exemple

Ce este Char?

Char este un C++ tip de date conceput pentru stocarea scrisorilor. Char este o abreviere pentru un caracter alfanumeric. Este un tip de date integral, ceea ce înseamnă că valoarea este stocată ca un număr întreg. Un caracter are o dimensiune de memorie de 1 octet. De asemenea, stochează un singur caracter.

Ce este ASCII?

Valoarea char este interpretată ca un caracter ASCII. Acest lucru este similar cu modul în care valorile booleene sunt interpretate ca fiind adevărate sau false. ASCII este un acronim pentru American Standard Code for Information Interchange. Acesta definește un mod specific de a reprezenta caracterele englezești ca numere.

Numerele variază între 0 și 127. De exemplu, caracterul „a” este echivalent cu codul ASCII 97.

Declarația Char

A declara a variabila char in C++, folosim cuvântul cheie char. Acesta ar trebui să fie urmat de numele variabilei. Variabila poate fi inițializată în momentul declarației. Valoarea variabilei trebuie inclusă între ghilimele simple.

Sintaxă

Iată sintaxa pentru declararea caracterului în C++:

char variable-name;

Numele-variabilă este numele care trebuie atribuit variabilei.

Dacă o valoare urmează să fie atribuită în momentul declarării, puteți utiliza această sintaxă:

char variable-name = 'value';	
  • Variabila-nume este numele variabilei char.
  • Valoarea este valoarea care trebuie atribuită variabilei char.

Exemplu 1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

ieșire:

Declarația Char

Iată o captură de ecran a codului:

Declarația Char

Explicația codului:

  1. Includerea fișierului antet iostream în codul nostru pentru a-i folosi funcțiile.
  2. Includerea spațiului de nume std în codul nostru pentru a-și folosi clasele fără a-l apela.
  3. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  4. Declarați o variabilă caracter numită grad. Variabilei i s-a atribuit și o valoare B. Observați că valoarea variabilei este inclusă între ghilimele simple.
  5. Tipăriți valoarea notei variabile alături de alt text de pe consolă.
  6. Programul trebuie să returneze valoare după finalizarea cu succes.
  7. Sfârșitul corpului funcției main().

Se imprimă valoarea ASCII

După cum sa menționat mai sus, fiecare caracter este interpretat ca caracter ASCII. Este posibil să obțineți valoarea ASCII a oricărui caracter. Pur și simplu treceți caracterul la funcția int(). Acest proces se numește turnare tip. Să demonstrăm asta:

Exemplu 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;
}

ieșire:

Se imprimă valoarea ASCII

Iată o captură de ecran a codului:

Se imprimă valoarea ASCII

Explicația codului:

  1. Includerea fișierului antet iostream în codul nostru pentru a-și utiliza funcțiile.
  2. Includerea spațiului de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  3. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  4. Declarați o variabilă char numită ch.
  5. Tipăriți ceva text pe consolă. Textul cere utilizatorului să introducă o valoare pentru variabila ch.
  6. Citiți intrarea utilizatorului de la tastatură și stocați-o în variabila ch.
  7. Tipăriți ceva text pe consolă. Textul va include caracterul pe care l-ați introdus pentru variabila ch, valoarea ASCII a acestui caracter și alt text.
  8. Programul trebuie să returneze valoare după finalizarea cu succes.
  9. Sfârșitul corpului funcției main().

Imprimarea valorii caracterului

Având în vedere o valoare ASCII, C++ compilatorul poate returna caracterul corespunzător. Declarați o variabilă char și îi atribuiți o valoare întreagă. Acesta va fi convertit la valoarea caracterului corespunzătoare.

Exemplu 3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

ieșire:

Imprimarea valorii caracterului

Iată o captură de ecran a codului:

Imprimarea valorii caracterului

Explicația codului:

  1. Includerea fișierului antet iostream în cod. Apoi vom folosi funcțiile sale fără a primi erori.
  2. Includeți spațiul de nume standard în cod. Vom folosi clasele sale fără a o numi.
  3. Apelarea funcției main(). Logica programului ar trebui să intre în corpul acestei funcții.
  4. Declarați trei variabile char x, y și z. Celor trei li s-au atribuit valori întregi de 65, 66 și 67. Acestea vor fi tratate ca valori ASCII pentru caractere.
  5. Tipăriți valoarea variabilei x pe consolă. Deoarece x a fost declarat ca un caracter, caracterul cu valoarea ASCII de 65 va fi returnat, adică A.
  6. Tipăriți valoarea variabilei y pe consolă. Deoarece y a fost declarat ca un caracter, caracterul cu valoarea ASCII de 66 va fi returnat, adică B.
  7. Imprimați valoarea variabilei z pe consolă. Deoarece z a fost declarat ca un caracter, caracterul cu valoarea ASCII de 67 va fi returnat, adică C.
  8. Programul trebuie să returneze valoare după finalizarea cu succes.
  9. Sfârșitul corpului funcției main().

Introducerea caracterelor

Putem folosi funcția std::cin pentru a citi un caracter introdus de utilizator prin tastatură. Std::cin vă va permite să introduceți mai multe caractere. Totuși, variabila caracter poate conține doar un caracter. Aceasta înseamnă că doar primul caracter introdus va fi extras și stocat în variabila caracter. Restul va rămâne în tamponul folosit de std::cin. Pentru a-l extrage, efectuați apeluri ulterioare către std::cin.

Exemplu 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;
}

ieșire:

Introducerea caracterelor

Iată o captură de ecran a codului:

Introducerea caracterelor

Explicația codului:

  1. Includerea fișierului antet iostream în codul nostru pentru a-i folosi funcțiile.
  2. Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  3. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  4. Tipăriți ceva text pe consolă.
  5. Declarați o variabilă caracter numită ch.
  6. Citiți intrarea utilizatorului de la tastatură. Intrarea va fi stocată în variabila ch. Deoarece un utilizator va tasta o secvență de caractere precum abc, doar primul caracter, a, va fi stocat în variabila ch.
  7. Se imprimă primul caracter introdus, codul său ASCII și alt text pe consolă. Codul ASCII este determinat prin trecerea variabilei caracter la funcția int().
  8. Citiți următorul caracter introdus de utilizator. Utilizatorului nu i se va cere să introducă un caracter nou. În schimb, va citi al doilea caracter care a fost introdus, adică b.
  9. Tipărirea celui de-al doilea caracter introdus, codul său ASCII și alt text pe consolă. Codul ASCII este determinat prin trecerea variabilei caracter la funcția int().
  10. Programul trebuie să returneze valoare după finalizarea cu succes.
  11. Sfârșitul corpului funcției main().

Convertirea caracterului în șir

Există o serie de moduri prin care le putem folosi pentru a converti caracterele în siruri.

Să le discutăm:

#1: Folosind constructorul dat de o clasă String

Acest lucru se poate face folosind următoarea sintaxă:

string st(int n,char x);

Parametrul n indică dimensiunea șirului care urmează să fie generat.

Parametrul x este caracterul de convertit într-un șir.

Funcția returnează un șir.

Exemplu 5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

ieșire:

Convertirea caracterului în șir

Iată o captură de ecran a codului:

Convertirea caracterului în șir

Explicația codului:

  1. Includerea fișierului antet iostream în codul nostru pentru a-i folosi funcțiile.
  2. Includeți fișierul antet șir în codul nostru pentru a utiliza funcțiile acestuia.
  3. Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  4. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  5. Convertiți caracterul „C” într-un șir de 1 lungime și atribuiți șirul rezultat variabilei st.
  6. Tipăriți valoarea șirului st pe consolă alături de alt text.
  7. Programul trebuie să returneze valoare după finalizarea cu succes.
  8. Sfârșitul corpului funcției main().

#2) Folosind std::string Operators = și +=

Operatorii = și += sunt deja supraîncărcați cu caractere. Cele două pot fi folosite pentru a converti un anumit caracter într-un șir.

Exemplu 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;
}

ieșire:

Convertirea caracterului în șir

Iată o captură de ecran a codului:

Convertirea caracterului în șir

Explicația codului:

  1. Includeți fișierul antet iostream în codul nostru pentru a utiliza funcțiile acestuia.
  2. Includeți fișierul antet șir în codul nostru pentru a utiliza funcțiile acestuia.
  3. Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  4. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  5. Creați o variabilă șir numită st.
  6. Creați un caracter numit b cu valoarea B.
  7. Atribuiți o valoare A șirului numit st.
  8. Utilizați operatorul += pentru a converti caracterele într-un șir.
  9. Tipăriți valoarea șirului st pe consolă alături de alt text.
  10. Programul trebuie să returneze valoare după finalizarea cu succes.
  11. Sfârșitul corpului funcției main().

#3: Folosind metodele std::string

Clasa std::string vine cu multe funcții supraîncărcate care vă pot ajuta să convertiți caracterele în șiruri.

Acestea includ:

  • împinge înapoi Această funcție atribuie un anumit caracter la sfârșitul unui șir. Este supraîncărcat pentru caractere. Este nevoie de următoarea sintaxă:
    void push_back(char ch)
    

    Parametrul ch este caracterul care urmează să fie schimbat într-un șir.

  • adăuga Acesta atribuie multe copii ale unui anumit caracter unui șir. Funcția are următoarea sintaxă:
    string& append(size_t n,char ch)
    

    Parametrul n indică intervalele de timp în care caracterul va fi adăugat.

    Parametrul ch este caracterul de atașat la șir.

  • atribui Această funcție înlocuiește conținutul curent al șirului cu n copii ale caracterului specificat. Este nevoie de următoarea sintaxă:
    string& assign(size_t n,char ch);

    Parametrul n indică numărul total de copii pentru caracter.

    Parametrul ch este caracterul de copiat în șir.

  • insera Funcția de inserare inserează n copii ale unui caracter la poziția de pornire a șirului, așa cum este specificat în argumente. Este nevoie de următoarea sintaxă:
    string& insert(size_t p,size_t n,char ch);

    Parametrul p indică poziția de la început în care vor fi inserate caracterele.

    Parametrul n indică numărul total de copii pentru caracter.

    Parametrul ch este caracterul care trebuie inserat în șir.

Exemplu 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;
}

ieșire:

Convertirea caracterului în șir

Iată o captură de ecran a codului:

Convertirea caracterului în șir

  1. Includeți fișierul antet iostream în codul nostru pentru a utiliza funcțiile acestuia.
  2. Includeți fișierul antet șir în codul nostru pentru a utiliza funcțiile acestuia.
  3. Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  4. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  5. Creați o variabilă șir numită st.
  6. Atribuiți caracterul A la sfârșitul șirului.
  7. Tipăriți valoarea șirului st pe consolă alături de alt text. Endl (linia finală) mută cursorul pe linia următoare.
  8. Setați valoarea șirului st la gol.
  9. Atribuiți un singur caracter C șirului numit st.
  10. Tipăriți valoarea șirului st pe consolă alături de alt text. Endl (linia finală) mută cursorul pe linia următoare.
  11. Setați valoarea șirului st la gol.
  12. Înlocuiți conținutul șirului st cu un singur caracter D.
  13. Tipăriți valoarea șirului st pe consolă alături de alt text. Endl (linia finală) mută cursorul pe linia următoare.
  14. Introduceți un singur caracter E în șirul numit st din primul său index.
  15. Tipăriți valoarea șirului st pe consolă alături de alt text. Endl (linia finală) mută cursorul pe linia următoare.
  16. Programul trebuie să returneze valoare după finalizarea cu succes.
  17. Sfârșitul corpului funcției main().

#4: Folosind std::stringstream

Pentru a utiliza această clasă pentru a converti caracterul într-un șir, inserați caracterul în flux.

Vor fi scrise pe șir.

Exemplu 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;
}

ieșire:

Convertirea caracterului în șir

Iată o captură de ecran a codului:

Convertirea caracterului în șir

Explicația codului:

  1. Includeți fișierul antet iostream în codul nostru pentru a utiliza funcțiile acestuia.
  2. Includeți fișierul antet șir în codul nostru pentru a utiliza funcțiile acestuia.
  3. Includeți fișierul antet sstream în codul nostru pentru a-i folosi funcțiile.
  4. Includeți spațiul de nume std în codul nostru pentru a-i folosi clasele fără a-l apela.
  5. Apelarea funcției main(). Logica programului ar trebui adăugată în corpul acestei funcții.
  6. Creați o variabilă șir numită st.
  7. Creați o variabilă de flux numită myst.
  8. Introduceți caracterul A în obiectul flux numit myst.
  9. Convertiți obiectul flux într-un șir.
  10. Tipăriți valoarea șirului st pe consolă alături de alt text. Endl (linia finală) mută cursorul pe linia următoare.
  11. Programul trebuie să returneze valoare după finalizarea cu succes.
  12. Sfârșitul corpului funcției main().

Rezumat

  • Un caracter este un C++ tip de date utilizat pentru stocarea scrisorilor.
  • C++ Char este un tip de date integral, ceea ce înseamnă că valoarea este stocată ca un număr întreg.
  • Ocupă o dimensiune de memorie de 1 octet.
  • C++ Char stochează doar un singur caracter.
  • Valorile Char sunt interpretate ca caractere ASCII.
  • ASCII este un acronim pentru American Standard Code for Information Interchange.
  • Prezintă un mod specific de reprezentare a caracterelor englezești sub formă de numere.
  • Pentru a vedea valoarea ASCII a unui caracter, o transmitem funcției int().
  • Pentru a vedea valoarea caracterului corespunzătoare valorii ASCII, definim ASCII ca un caracter.