Datový typ C ++ Char s příklady

Obsah:

Anonim

Co je Char?

Char je datový typ C ++ určený pro ukládání dopisů. Char je zkratka pro postavu. Je to integrální datový typ, což znamená, že hodnota je uložena jako celé číslo. Znak bere velikost paměti 1 bajt. Ukládá také jeden znak.

V tomto výukovém programu C ++ se naučíte:

  • Co je Char?
  • Co je ASCII?
  • Char prohlášení
  • Syntax:
  • Tisk hodnoty ASCII
  • Hodnota Char Char
  • Zadávání znaků
  • Převod znaku na řetězec

Co je ASCII?

Hodnota char je interpretována jako znak ASCII. To je podobné tomu, jak jsou booleovské hodnoty interpretovány jako pravdivé nebo nepravdivé. ASCII je zkratka pro americký standardní kód pro výměnu informací. Definuje konkrétní způsob reprezentace anglických znaků jako čísel.

Čísla se pohybují od 0 do 127. Například znak „a“ je ekvivalentní kódu ASCII 97.

Char prohlášení

K deklaraci proměnné char v C ++ použijeme klíčové slovo char. Za tím by měl následovat název proměnné. Proměnnou lze inicializovat v době deklarace. Hodnota proměnné by měla být uzavřena do jednoduchých uvozovek.

Syntax:

Zde je syntaxe deklarace char v C ++:

char variable-name;

Název proměnné je název, který se má proměnné přiřadit.

Pokud má být hodnota přiřazena v době deklarace, můžete použít tuto syntaxi:

char variable-name = 'value';
  • Název proměnné je název proměnné char.
  • Hodnota je hodnota, která má být přiřazena proměnné char.

Příklad 1:

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

Výstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Zahrnutí souboru záhlaví iostream do našeho kódu pro použití jeho funkcí.
  2. Zahrnutí std namespace do našeho kódu, aby bylo možné používat jeho třídy bez jeho volání.
  3. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  4. Deklarujte znakovou proměnnou s názvem stupeň. Proměnné byla také přiřazena hodnota B. Všimněte si, že hodnota proměnné je uzavřena v jednoduchých uvozovkách.
  5. Vytiskněte hodnotu proměnné známky spolu s dalším textem na konzole.
  6. Po úspěšném dokončení musí program vrátit hodnotu.
  7. Konec těla funkce main ().

Tisk hodnoty ASCII

Jak je uvedeno výše, každý znak je interpretován jako znak ASCII. Je možné, abyste získali hodnotu ASCII libovolného znaku. Jednoduše předáte znak funkci int (). Tento proces se nazývá casting typu. Ukažme si to:

Příklad 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;}

Výstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Zahrnutí souboru záhlaví iostream do našeho kódu za účelem využití jeho funkcí.
  2. Zahrnutí std namespace do našeho kódu, aby bylo možné používat jeho třídy bez volání.
  3. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  4. Deklarujte proměnnou char s názvem ch.
  5. Vytiskněte nějaký text na konzoli. Text vyzve uživatele k zadání hodnoty proměnné ch.
  6. Přečtěte si vstup uživatele z klávesnice a uložte jej do proměnné ch.
  7. Vytiskněte nějaký text na konzoli. Text bude obsahovat znak, který jste zadali pro proměnnou ch, hodnotu ASCII tohoto znaku a další text.
  8. Po úspěšném dokončení musí program vrátit hodnotu.
  9. Konec těla funkce main ().

Hodnota Char Char

Vzhledem k hodnotě ASCII může kompilátor C ++ vrátit odpovídající znak. Deklarujete proměnnou char a přiřadíte jí celočíselnou hodnotu. Bude převeden na odpovídající hodnotu znaku.

Příklad 3:

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

Výstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Včetně souboru záhlaví iostream do kódu. Poté budeme používat jeho funkce bez chyb.
  2. Zahrňte do kódu standardní obor názvů. Budeme používat jeho třídy, aniž bychom jej volali.
  3. Volání funkce main (). Logika programu by měla jít do těla této funkce.
  4. Deklarujte tři char proměnné x, yaz. Těm třem byly přiřazeny celočíselné hodnoty 65, 66 a 67. S těmito znaky se bude zacházet jako s hodnotami ASCII.
  5. Vytiskněte na konzole hodnotu proměnné x. Vzhledem k tomu, že x bylo deklarováno jako znak, bude vrácen znak s hodnotou ASCII 65, tj. A.
  6. Vytiskněte na konzole hodnotu proměnné y. Protože y bylo deklarováno jako char, vrátí se char s ASCII hodnotou 66, tj. B.
  7. Vytiskněte na konzole hodnotu proměnné z. Vzhledem k tomu, že z bylo deklarováno jako znak, bude vrácen znak s hodnotou ASCII 67, tj. C.
  8. Po úspěšném dokončení musí program vrátit hodnotu.
  9. Konec těla funkce main ().

Zadávání znaků

Můžeme použít funkci std :: cin ke čtení znaků zadaných uživatelem pomocí klávesnice. Std :: cin vám umožní zadat mnoho znaků. Proměnná znaků však může obsahovat pouze jeden znak. To znamená, že pouze první zadaný znak bude extrahován a uložen do proměnné znaků. Zbytek zůstane ve vyrovnávací paměti používané std :: cin. Chcete-li jej extrahovat, proveďte následující volání std :: cin.

Příklad 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;}

Výstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Zahrnutí souboru záhlaví iostream do našeho kódu pro použití jeho funkcí.
  2. Zahrňte do našeho kódu std namespace, abyste mohli používat jeho třídy, aniž byste jej volali.
  3. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  4. Vytiskněte nějaký text na konzoli.
  5. Deklarujte znakovou proměnnou s názvem ch.
  6. Čtení vstupu uživatele z klávesnice. Vstup bude uložen v proměnné ch. Protože uživatel zadá posloupnost znaků jako abc, do proměnné ch bude uložen pouze první znak, a.
  7. Tisk prvního zadaného znaku, jeho ASCII kódu a dalšího textu na konzoli. Kód ASCII je určen předáním znakové proměnné funkci int ().
  8. Přečtěte si další znak, který zadal uživatel. Uživatel nebude muset zadat nový znak. Bude místo toho číst druhý znak, který byl zadán, tj. B.
  9. Tisk druhého zadaného znaku, jeho ASCII kódu a dalšího textu na konzoli. Kód ASCII je určen předáním znakové proměnné funkci int ().
  10. Po úspěšném dokončení musí program vrátit hodnotu.
  11. Konec těla funkce main ().

Převod znaku na řetězec

Existuje řada způsobů, kterými můžeme převádět znaky na řetězce.

Pojďme o nich diskutovat:

# 1: Použití konstruktoru dané třídou String

To lze provést pomocí následující syntaxe:

string st(int n,char x);

Parametr n označuje velikost řetězce, který má být generován.

Parametr x je znak, který se má převést na řetězec.

Funkce vrací řetězec.

Příklad 5:

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

Výstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Zahrnutí souboru záhlaví iostream do našeho kódu pro použití jeho funkcí.
  2. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví řetězce.
  3. Zahrňte do našeho kódu std namespace, abyste mohli používat jeho třídy, aniž byste jej volali.
  4. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  5. Převeďte znak "C" na řetězec o délce 1 a výsledný řetězec přiřaďte proměnné st.
  6. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem.
  7. Po úspěšném dokončení musí program vrátit hodnotu.
  8. Konec těla funkce main ().

# 2) Použití std :: string Operators = a + =

Operátory = a + = jsou již přetíženy znaky. Tyto dva lze použít k převodu konkrétního znaku na řetězec.

Pří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ýstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví iostream.
  2. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví řetězce.
  3. Zahrňte do našeho kódu std namespace, abyste mohli používat jeho třídy, aniž byste jej volali.
  4. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  5. Vytvořte proměnnou řetězce s názvem st.
  6. Vytvořte znak s názvem b s hodnotou B.
  7. Přiřaďte hodnotu A řetězci s názvem st.
  8. Pomocí operátoru + = převeďte znaky na řetězec.
  9. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem.
  10. Po úspěšném dokončení musí program vrátit hodnotu.
  11. Konec těla funkce main ().

# 3: Používání metod std :: string

Třída std :: string přichází s mnoha přetíženými funkcemi, které vám mohou pomoci převést znaky na řetězce.

Obsahují:

  • zatlačit zpátky

    Tato funkce přiřadí určitý znak konci řetězce. U znaků je přetížený.

    Trvá následující syntaxi:

    void push_back(char ch)

    Parametr ch je znak, který má být změněn na řetězec.

  • připojit

    Řetězci přiřadí mnoho kopií určitého znaku.

    Funkce má následující syntaxi:

    string& append(size_t n,char ch)

    Parametr n označuje časy, kdy bude znak připojen.

    Parametr ch je znak, který se má připojit k řetězci.

  • přiřadit

    Tato funkce nahradí aktuální obsah řetězce n kopiemi zadaného znaku.

    Trvá následující syntaxi:

    string& assign(size_t n,char ch);

    Parametr n označuje celkový počet kopií postavy.

    Parametr ch je znak, který se má zkopírovat do řetězce.

  • vložit

    Funkce insert vloží n kopií znaku na počáteční pozici řetězce, jak je uvedeno v argumentech.

    Trvá následující syntaxi:

    string& insert(size_t p,size_t n,char ch); 

    Parametr p označuje pozici od začátku, kam budou vkládány znaky.

    Parametr n označuje celkový počet kopií postavy.

    Parametr ch je znak, který se má vložit do řetězce.

Pří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ýstup:

Zde je snímek obrazovky s kódem:

  1. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví iostream.
  2. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví řetězce.
  3. Zahrňte do našeho kódu std namespace, abyste mohli používat jeho třídy, aniž byste jej volali.
  4. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  5. Vytvořte proměnnou řetězce s názvem st.
  6. Přiřaďte znak A na konec řetězce.
  7. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem. Endl (koncová čára) posune kurzor na další řádek.
  8. Nastavte hodnotu řetězce st na prázdnou.
  9. Přiřaďte jednomu znaku C řetězec s názvem st.
  10. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem. Endl (koncová čára) posune kurzor na další řádek.
  11. Nastavte hodnotu řetězce st na prázdnou.
  12. Nahraďte obsah řetězce st jediným znakem D.
  13. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem. Endl (koncová čára) posune kurzor na další řádek.
  14. Vložte jeden znak E do řetězce s názvem st od jeho prvního indexu.
  15. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem. Endl (koncová čára) posune kurzor na další řádek.
  16. Po úspěšném dokončení musí program vrátit hodnotu.
  17. Konec těla funkce main ().

# 4: Používání std :: stringstream

Chcete-li tuto třídu použít k převodu znaku na řetězec, vložte znak do streamu.

Budou zapsány do řetězce.

Pří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ýstup:

Zde je snímek obrazovky s kódem:

Vysvětlení kódu:

  1. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví iostream.
  2. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví řetězce.
  3. Chcete-li používat jeho funkce, zahrňte do našeho kódu soubor záhlaví sstream.
  4. Zahrňte do našeho kódu std namespace, abyste mohli používat jeho třídy, aniž byste jej volali.
  5. Volání funkce main (). Logika programu by měla být přidána do těla této funkce.
  6. Vytvořte proměnnou řetězce s názvem st.
  7. Vytvořte proměnnou streamu s názvem myst.
  8. Vložte znak A do objektu streamu s názvem myst.
  9. Převeďte objekt proudu na řetězec.
  10. Vytiskněte hodnotu řetězce st na konzole spolu s dalším textem. Endl (koncová čára) posune kurzor na další řádek.
  11. Po úspěšném dokončení musí program vrátit hodnotu.
  12. Konec těla funkce main ().

Souhrn:

  • Znak je datový typ C ++ používaný k ukládání písmen.
  • C ++ Char je integrální datový typ, což znamená, že hodnota je uložena jako celé číslo.
  • Zabírá velikost paměti 1 bajt.
  • C ++ Char ukládá pouze jeden znak.
  • Hodnoty Char jsou interpretovány jako znaky ASCII.
  • ASCII je zkratka pro americký standardní kód pro výměnu informací.
  • Uvádí konkrétní způsob reprezentace anglických znaků ve formě čísel.
  • Chcete-li zobrazit hodnotu ASCII znaku, předáme ji funkci int ().
  • Abychom viděli odpovídající char hodnotu ASCII hodnoty, definujeme ASCII jako znak.