C ++ Char Data Type cu exemple

Cuprins:

Anonim

Ce este Char?

Char este un tip de date C ++ conceput pentru stocarea literelor. Char este un acronim pentru un personaj. 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 personaj.

În acest tutorial C ++, veți învăța:

  • Ce este Char?
  • Ce este ASCII?
  • Declarația Char
  • Sintaxă:
  • Tipărirea valorii ASCII
  • Tipărirea valorii caracterelor
  • Introducerea caracterelor
  • Conversia caracterului în șir

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 reprezentare a caracterelor englezești ca numere.

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

Declarația Char

Pentru a declara o variabilă char în C ++, folosim cuvântul cheie char. Aceasta ar trebui să fie urmată de numele variabilei. Variabila poate fi inițializată în momentul declarației. Valoarea variabilei trebuie inclusă între ghilimele unice.

Sintaxă:

Iată sintaxa pentru declarația char în C ++:

char variable-name;

Numele variabilei este numele care trebuie atribuit variabilei.

Dacă trebuie alocată o valoare în momentul declarării, puteți utiliza această sintaxă:

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

Exemplul 1:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  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 folosi clasele sale fără a-l apela.
  3. Apelarea funcției main (). Logica programului trebuie adăugată în corpul acestei funcții.
  4. Declarați o variabilă de caracter numită grad. Variabilei i sa atribuit, de asemenea, o valoare B. Observați că valoarea variabilei este inclusă în ghilimele unice.
  5. Imprimați valoarea clasei variabilei alături de alt text de pe consolă.
  6. Programul trebuie să returneze valoarea la finalizarea cu succes.
  7. Sfârșitul corpului funcției main ().

Tipărirea valorii ASCII

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

Exemplul 2:

#include 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:

Iată o captură de ecran a codului:

Explicatie cod:

  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 trebuie adăugată în corpul acestei funcții.
  4. Declarați o variabilă char numită ch.
  5. Imprimați un 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. Imprimați un 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 valoarea la finalizarea cu succes.
  9. Sfârșitul corpului funcției main ().

Tipărirea valorii caracterelor

Având o valoare ASCII, compilatorul C ++ 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ător.

Exemplul 3:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includerea fișierului antet iostream în cod. Vom folosi apoi funcțiile sale fără a primi erori.
  2. Includeți spațiul de nume std în cod. Vom folosi clasele sale fără să o numim.
  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. Imprimaț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. Imprimaț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 valoarea la 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 intermediul tastaturii. Std :: cin vă va permite să introduceți mai multe caractere. Cu toate acestea, variabila de caractere poate conține un singur caracter. Aceasta înseamnă că numai primul caracter introdus va fi extras și stocat în variabila de caractere. Restul vor rămâne în buffer-ul folosit de std :: cin. Pentru a-l extrage, efectuați apeluri ulterioare către std :: cin.

Exemplul 4:

#include 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:

Iată o captură de ecran a codului:

Explicatie cod:

  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 utiliza clasele sale fără a-l apela.
  3. Apelarea funcției main (). Logica programului trebuie adăugată în corpul acestei funcții.
  4. Imprimați un text pe consolă.
  5. Declarați o variabilă de caracter numită ch.
  6. Citiți informațiile utilizatorului de la tastatură. Intrarea va fi stocată în variabila ch. Deoarece un utilizator va tasta o secvență de caractere precum abc, numai primul caracter, a, va fi stocat în variabila ch.
  7. Imprimarea primului caracter introdus, codul ASCII al acestuia și alt text pe consolă. Codul ASCII este determinat prin trecerea variabilei de caracter către funcția int ().
  8. Citiți următorul caracter introdus de utilizator. Utilizatorul nu va fi obligat să introducă un caracter nou. În schimb, va citi al doilea caracter introdus, adică b.
  9. Imprimarea celui de-al doilea caracter introdus, codul ASCII și alt text pe consolă. Codul ASCII este determinat prin trecerea variabilei de caracter către funcția int ().
  10. Programul trebuie să returneze valoarea la finalizarea cu succes.
  11. Sfârșitul corpului funcției main ().

Conversia caracterului în șir

Există o serie de moduri pe care le putem folosi pentru a converti caracterele în șiruri.

Să le discutăm:

# 1: Utilizarea constructorului dat de o clasă de șiruri

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.

Exemplul 5:

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

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

  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 sale.
  3. Includeți spațiul de nume std în codul nostru pentru a utiliza clasele sale fără a-l apela.
  4. Apelarea funcției main (). Logica programului trebuie 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. Imprimați valoarea șirului st pe consolă alături de alt text.
  7. Programul trebuie să returneze valoarea la finalizarea cu succes.
  8. Sfârșitul corpului funcției main ().

# 2) Utilizarea operatorilor std :: string = ș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.

Exemplul 6:

#include#include using namespace std;int main() {string st;char b = 'B';st = 'A';st += b;cout << "The resulting string is : " << st;return 0;}

Ieșire:

Iată o captură de ecran a codului:

Explicatie cod:

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

# 3: Utilizarea metodelor std :: string

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

Ei 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

    Atribuie mai multe copii ale unui anumit caracter unui șir.

    Funcția are următoarea sintaxă:

    string& append(size_t n,char ch)

    Parametrul n indică momentele î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.

  • introduce

    Funcția de inserare inserează n copii ale unui caracter la poziția de pornire a șirului, așa cum se specifică î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 unde vor fi inserate caractere.

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

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

Exemplul 7:

#include#include 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:

Iată o captură de ecran a codului:

  1. Includeți fișierul 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 sale.
  3. Includeți spațiul de nume std în codul nostru pentru a utiliza clasele sale fără a-l apela.
  4. Apelarea funcției main (). Logica programului trebuie 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. Imprimaț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 pe gol.
  9. Atribuiți un singur caracter C șirului numit st.
  10. Imprimaț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 pe gol.
  12. Înlocuiți conținutul pentru șirul st cu un singur caracter D.
  13. Imprimaț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. Imprimaț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 valoarea la finalizarea cu succes.
  17. Sfârșitul corpului funcției main ().

# 4: Utilizarea std :: stringstream

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

Vor fi scrise în șir.

Exemplul 8:

#include#include #include 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:

Iată o captură de ecran a codului:

Explicatie cod:

  1. Includeți fișierul 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 sale.
  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 utiliza clasele sale fără a-l apela.
  5. Apelarea funcției main (). Logica programului trebuie 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 de flux numit myst.
  9. Convertiți obiectul flux într-un șir.
  10. Imprimaț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 valoarea la finalizarea cu succes.
  12. Sfârșitul corpului funcției main ().

Rezumat:

  • Un caracter este un tip de date C ++ utilizat pentru stocarea literelor.
  • 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ă numai un singur caracter.
  • Valorile Char sunt interpretate ca caractere ASCII.
  • ASCII este un acronim pentru American Standard Code for Information Interchange.
  • Acesta indică un mod specific de reprezentare a caracterelor englezești sub formă de numere.
  • Pentru a vedea valoarea ASCII a unui caracter, o trecem la funcția int ().
  • Pentru a vedea valoarea de caracter corespunzătoare a valorii ASCII, definim ASCII ca un caracter.