Čo je Char?
Char je dátový typ C ++ určený na ukladanie písmen. Char je skratka pre postavu. Je to integrálny dátový typ, čo znamená, že hodnota je uložená ako celé číslo. Znak zaberá veľkosť pamäte 1 bajt. Ukladá tiež jeden znak.
V tomto výučbe pre C ++ sa dozviete:
- Čo je Char?
- Čo je to ASCII?
- Deklarácia char
- Syntax:
- Tlač ASCII hodnoty
- Hodnota char. Tlače
- Zadávanie znakov
- Prevod znaku na reťazec
Čo je to ASCII?
Znaková hodnota sa interpretuje ako znak ASCII. Toto je podobné tomu, ako sa booleovské hodnoty interpretujú ako pravdivé alebo nepravdivé. ASCII je skratka pre americký štandardný kód pre výmenu informácií. Definuje konkrétny spôsob reprezentácie anglických znakov ako čísel.
Čísla sa pohybujú medzi 0 a 127. Napríklad znak „a“ je ekvivalentný s kódom ASCII 97.
Deklarácia char
Na deklaráciu premennej char v C ++ používame kľúčové slovo char. Za týmto by mal nasledovať názov premennej. Premennú je možné inicializovať v čase vyhlásenia. Hodnota premennej by mala byť uvedená v jednoduchých úvodzovkách.
Syntax:
Tu je syntax pre deklaráciu char v C ++:
char variable-name;
Názov premennej je názov, ktorý sa má priradiť k premennej.
Ak sa má hodnota priraďovať v čase deklarácie, môžete použiť túto syntax:
char variable-name = 'value';
- Názov premennej je názov premennej char.
- Hodnota je hodnota, ktorá sa má priradiť k premennej char.
Príklad 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Zahrnutie súboru hlavičky iostream do nášho kódu na využitie jeho funkcií.
- Vrátane štandardného priestoru mien do nášho kódu, aby bolo možné používať jeho triedy bez jeho volania.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Deklarujte znakovú premennú s názvom známka. Premennej bola tiež priradená hodnota B. Všimnite si, že hodnota premennej je uzavretá v jednoduchých úvodzovkách.
- Vytlačte hodnotu premennej triedy spolu s ďalším textom na konzole.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
Tlač ASCII hodnoty
Ako je uvedené vyššie, každý znak sa interpretuje ako znak ASCII. Je možné, že získate hodnotu ASCII ľubovoľného znaku. Znak jednoducho odovzdáte funkcii int (). Tento proces sa nazýva casting typu. Poďme si to demonštrovať:
Príklad 2:
#includeusing namespace std;int main() {char ch;cout << "Enter any character: ";cin >> ch;cout << "The ASCII Value of " << ch << " is " << int(ch);return 0;} Výkon:
![]()
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Zahrnutie hlavičkového súboru iostream do nášho kódu, aby bolo možné využívať jeho funkcie.
- Vrátane štandardného priestoru mien do nášho kódu, aby bolo možné používať jeho triedy bez jeho volania.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Deklarujte premennú char s názvom ch.
- Vytlačte nejaký text na konzolu. Text žiada používateľa, aby zadal hodnotu premennej ch.
- Prečítajte si vstup používateľa z klávesnice a uložte ho do premennej ch.
- Vytlačte nejaký text na konzolu. Text bude obsahovať znak, ktorý ste zadali pre premennú ch, hodnotu ASCII tohto znaku a ďalší text.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
Hodnota char. Tlače
Vzhľadom na hodnotu ASCII môže kompilátor C ++ vrátiť zodpovedajúci znak. Deklarujete premennú char a priradíte jej celočíselnú hodnotu. Bude prevedený na zodpovedajúcu hodnotu znaku.
Príklad 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Vrátane iostream hlavičkového súboru do kódu. Potom budeme používať jeho funkcie bez toho, aby sme dostali chyby.
- Zahrňte do kódu štandardný menný priestor. Budeme používať jeho triedy bez toho, aby sme ich volali.
- Volanie funkcie main (). Logika programu by mala ísť do tela tejto funkcie.
- Deklarujte tri char premenné x, yaz. Tým trom boli priradené celočíselné hodnoty 65, 66 a 67. S týmito znakmi sa bude zaobchádzať ako s hodnotami ASCII.
- Na konzole si vytlačte hodnotu premennej x. Pretože x bolo deklarované ako znak, vráti sa znak s hodnotou ASCII 65, teda A.
- Na konzole si vytlačte hodnotu premennej y. Pretože y bol deklarovaný ako znak, vráti sa znak s hodnotou ASCII 66, teda B.
- Vytlačte na konzole hodnotu premennej z. Pretože z bol deklarovaný ako znak, vráti sa znak s hodnotou ASCII 67, teda C.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
Zadávanie znakov
Na načítanie znaku zadaného používateľom pomocou klávesnice môžeme použiť funkciu std :: cin. Std :: cin vám umožní zadať veľa znakov. Premenná znakov však môže obsahovať iba jeden znak. To znamená, že iba prvý zadaný znak bude extrahovaný a uložený v premennej znaku. Zvyšok zostane v medzipamäti používanom programom std :: cin. Ak ho chcete extrahovať, uskutočnite následné volania na príkaz std :: cin.
Príklad 4:
#includeusing 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;} Výkon:
![]()
Tu je snímka obrazovky s kódom:
![]()
Vysvetlenie kódu:
- Zahrnutie súboru hlavičky iostream do nášho kódu na využitie jeho funkcií.
- Ak chcete používať svoje triedy bez toho, aby ste ich volali, zahrňte do nášho kódu std namespace.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Vytlačte nejaký text na konzolu.
- Deklarujte znakovú premennú s názvom ch.
- Prečítajte si vstup používateľa z klávesnice. Vstup sa uloží do premennej ch. Pretože užívateľ zadá postupnosť znakov ako abc, do premennej ch bude uložený iba prvý znak a.
- Tlač prvého zadaného znaku, jeho ASCII kódu a iného textu na konzolu. Kód ASCII sa určuje odovzdaním znakovej premennej funkcii int ().
- Prečítajte si ďalší znak, ktorý zadal používateľ. Od používateľa sa nebude vyžadovať zadanie nového znaku. Namiesto toho prečíta druhý znak, ktorý bol zadaný, tj. B.
- Tlač druhého zadaného znaku, jeho ASCII kódu a iného textu na konzolu. Kód ASCII sa určuje odovzdaním znakovej premennej funkcii int ().
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
Prevod znaku na reťazec
Existuje niekoľko spôsobov, ako môžeme použiť na prevod znakov na reťazce.
Poďme o nich diskutovať:
# 1: Použitie konštruktora daného triedou reťazcov
Môžete to urobiť pomocou nasledujúcej syntaxe:
string st(int n,char x);Parameter n označuje veľkosť reťazca, ktorý sa má generovať.
Parameter x je znak, ktorý sa má previesť na reťazec.
Funkcia vráti reťazec.
Príklad 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Zahrnutie súboru hlavičky iostream do nášho kódu na využitie jeho funkcií.
- Zahrňte súbor hlavičky reťazca do nášho kódu, aby ste mohli využívať jeho funkcie.
- Ak chcete používať svoje triedy bez toho, aby ste ich volali, zahrňte do nášho kódu std namespace.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Konvertujte znak „C“ na 1-dĺžkový reťazec a výsledný reťazec priraďte k premennej St.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
# 2) Používanie std :: string Operators = a + =
Operátory = a + = sú už preplnené znakmi. Tieto dve možno použiť na prevod konkrétneho znaku na reťazec.
Príklad 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;} Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Zahrňte súbor hlavičky iostream do nášho kódu, aby ste mohli využívať jeho funkcie.
- Zahrňte súbor hlavičky reťazca do nášho kódu, aby ste mohli využívať jeho funkcie.
- Ak chcete používať svoje triedy bez toho, aby ste ich volali, zahrňte do nášho kódu std namespace.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Vytvorte reťazcovú premennú s názvom st.
- Vytvorte znak s názvom b s hodnotou B.
- Priraďte hodnotu A reťazcu s názvom st.
- Na prevod znakov do reťazca použite operátor + =.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
# 3: Používanie metód std :: string
Trieda std :: string prichádza s mnohými preťaženými funkciami, ktoré vám môžu pomôcť konvertovať znaky na reťazce.
Zahŕňajú:
- push_back
Táto funkcia priraďuje konkrétny znak koncu reťazca. Pre postavy je preťažený.
Má nasledujúcu syntax:
void push_back(char ch)Parameter ch je znak, ktorý sa má zmeniť na reťazec.
- pridať
Priradí reťazci veľa kópií konkrétneho znaku.
Funkcia má nasledujúcu syntax:
string& append(size_t n,char ch)Parameter n označuje časy, kedy bude znak pripojený.
Parameter ch je znak, ktorý sa má pridať k reťazcu.
- priradiť
Táto funkcia nahradí aktuálny obsah reťazca n kópiami zadaného znaku.
Má nasledujúcu syntax:
string& assign(size_t n,char ch);Parameter n označuje celkový počet kópií znaku.
Parameter ch je znak, ktorý sa má skopírovať do reťazca.
- vložiť
Funkcia insert vloží n kópií znaku na začiatočnú pozíciu reťazca, ako je uvedené v argumentoch.
Má nasledujúcu syntax:
string& insert(size_t p,size_t n,char ch);Parameter p označuje pozíciu od začiatku, do ktorej sa budú vkladať znaky.
Parameter n označuje celkový počet kópií znaku.
Parameter ch je znak, ktorý sa má vložiť do reťazca.
Príklad 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;} Výkon:
Tu je snímka obrazovky s kódom:
- Zahrňte súbor hlavičky iostream do nášho kódu, aby ste mohli využívať jeho funkcie.
- Zahrňte súbor hlavičky reťazca do nášho kódu, aby ste mohli využívať jeho funkcie.
- Ak chcete používať svoje triedy bez toho, aby ste ich volali, zahrňte do nášho kódu std namespace.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Vytvorte reťazcovú premennú s názvom st.
- Priraďte znak A na koniec reťazca.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom. Endl (koncová čiara) posúva kurzor na ďalší riadok.
- Nastavte hodnotu reťazca st na prázdnu.
- Priraďte jeden znak C reťazcu s názvom st.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom. Endl (koncová čiara) posúva kurzor na ďalší riadok.
- Nastavte hodnotu reťazca st na prázdnu.
- Nahradiť obsah reťazca st jedným znakom D.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom. Endl (koncová čiara) posúva kurzor na ďalší riadok.
- Vložte jeden znak E do reťazca s názvom st od jeho prvého indexu.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom. Endl (koncová čiara) posúva kurzor na ďalší riadok.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
# 4: Používanie std :: stringstream
Ak chcete pomocou tejto triedy previesť znak na reťazec, vložte znak do streamu.
Budú zapísané do reťazca.
Príklad 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;} Výkon:
Tu je snímka obrazovky s kódom:
Vysvetlenie kódu:
- Zahrňte súbor hlavičky iostream do nášho kódu, aby ste mohli využívať jeho funkcie.
- Zahrňte súbor hlavičky reťazca do nášho kódu, aby ste mohli využívať jeho funkcie.
- Zahrňte súbor hlavičky sstream do nášho kódu, aby ste mohli využívať jeho funkcie.
- Ak chcete používať svoje triedy bez toho, aby ste ich volali, zahrňte do nášho kódu std namespace.
- Volanie funkcie main (). Logika programu by mala byť pridaná do tela tejto funkcie.
- Vytvorte reťazcovú premennú s názvom st.
- Vytvorte premennú streamu s názvom myst.
- Vložte znak A do objektu streamu s názvom myst.
- Konvertujte objekt streamu na reťazec.
- Vytlačte hodnotu reťazca st na konzole spolu s ďalším textom. Endl (koncová čiara) posúva kurzor na ďalší riadok.
- Po úspešnom dokončení musí program vrátiť hodnotu.
- Koniec tela hlavnej () funkcie.
Zhrnutie:
- Znak je dátový typ C ++ používaný na ukladanie písmen.
- C ++ Char je integrálny dátový typ, čo znamená, že hodnota je uložená ako celé číslo.
- Zaberá veľkosť pamäte 1 bajt.
- C ++ Char ukladá iba jeden znak.
- Hodnoty Char sa interpretujú ako znaky ASCII.
- ASCII je skratka pre americký štandardný kód pre výmenu informácií.
- Uvádza konkrétny spôsob reprezentácie anglických znakov vo forme čísel.
- Aby sme videli hodnotu ASCII znaku, odovzdáme ju funkcii int ().
- Aby sme videli zodpovedajúcu char hodnotu ASCII hodnoty, definujeme ASCII ako znak.