C ++ Char-gegevenstype met voorbeelden

Inhoudsopgave:

Anonim

Wat is Char?

Char is een C ++ -gegevenstype dat is ontworpen voor de opslag van brieven. Char is een afkorting voor een personage. Het is een integraal gegevenstype, wat betekent dat de waarde wordt opgeslagen als een geheel getal. Een teken heeft een geheugengrootte van 1 byte. Het slaat ook een enkel teken op.

In deze C ++ tutorial leer je:

  • Wat is Char?
  • Wat is ASCII?
  • Verklaring van Char
  • Syntaxis:
  • ASCII-waarde afdrukken
  • Charwaarde afdrukken
  • Tekens invoeren
  • Teken omzetten in tekenreeks

Wat is ASCII?

De char-waarde wordt geïnterpreteerd als een ASCII-teken. Dit is vergelijkbaar met hoe Booleaanse waarden worden geïnterpreteerd als waar of onwaar. ASCII is een afkorting van American Standard Code for Information Interchange. Het definieert een specifieke manier om Engelse tekens als cijfers weer te geven.

De cijfers liggen tussen 0 en 127. Het teken 'a' komt bijvoorbeeld overeen met ASCII-code 97.

Verklaring van Char

Om een ​​char-variabele in C ++ te declareren, gebruiken we het char-sleutelwoord. Dit moet worden gevolgd door de naam van de variabele. De variabele kan worden geïnitialiseerd op het moment van de aangifte. De waarde van de variabele moet tussen enkele aanhalingstekens staan.

Syntaxis:

Hier is de syntaxis voor char-declaratie in C ++:

char variable-name;

De variabelenaam is de naam die aan de variabele moet worden toegewezen.

Als een waarde moet worden toegekend op het moment van aangifte, kunt u deze syntaxis gebruiken:

char variable-name = 'value';
  • De variabelenaam is de naam van de char-variabele.
  • De waarde is de waarde die aan de char-variabele moet worden toegewezen.

Voorbeeld 1:

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Inclusief het iostream-headerbestand in onze code om de functies ervan te gebruiken.
  2. Het opnemen van de std-naamruimte in onze code om zijn klassen te gebruiken zonder het aan te roepen.
  3. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  4. Declareer een tekenvariabele met de naam grade. Aan de variabele is ook de waarde B toegewezen. Merk op dat de waarde van de variabele tussen enkele aanhalingstekens staat.
  5. Druk de waarde van het variabele cijfer af naast andere tekst op de console.
  6. Het programma moet waarde teruggeven na succesvolle voltooiing.
  7. Einde van de hoofdtekst van de functie main ().

ASCII-waarde afdrukken

Zoals hierboven vermeld, wordt elk teken geïnterpreteerd als ASCII-teken. Het is mogelijk dat u de ASCII-waarde van een willekeurig teken krijgt. U geeft het teken eenvoudig door aan de functie int (). Dit proces wordt typegieten genoemd. Laten we dit demonstreren:

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Het opnemen van het iostream-headerbestand in onze code om de functies ervan te gebruiken.
  2. Het opnemen van de std-naamruimte in onze code om zijn klassen te gebruiken zonder het aan te roepen.
  3. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  4. Declareer een char-variabele met de naam ch.
  5. Druk wat tekst af op de console. De tekst vraagt ​​de gebruiker om een ​​waarde in te voeren voor de variabele ch.
  6. Lees de gebruikersinvoer van het toetsenbord en sla deze op in de variabele ch.
  7. Druk wat tekst af op de console. De tekst bevat het teken dat je hebt ingevoerd voor variabele ch, de ASCII-waarde van dit teken en andere tekst.
  8. Het programma moet waarde teruggeven na succesvolle voltooiing.
  9. Einde van de hoofdtekst van de functie main ().

Charwaarde afdrukken

Gegeven een ASCII-waarde, kan de C ++ - compiler het bijbehorende teken retourneren. U declareert een char-variabele en wijst er een geheel getal aan toe. Het wordt geconverteerd naar de overeenkomstige tekenwaarde.

Voorbeeld 3:

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Inclusief het iostream-headerbestand in de code. We zullen dan de functies ervan gebruiken zonder fouten te krijgen.
  2. Neem de std-naamruimte op in de code. We zullen zijn klassen gebruiken zonder het te noemen.
  3. De functie main () aanroepen. De programmalogica moet in de body van deze functie worden opgenomen.
  4. Declareer drie char-variabelen x, y en z. Aan de drie zijn gehele getallen van 65, 66 en 67 toegewezen. Deze worden behandeld als ASCII-waarden voor tekens.
  5. Druk de waarde van variabele x af op de console. Omdat x is gedeclareerd als een teken, wordt het teken met de ASCII-waarde 65 geretourneerd, dat wil zeggen A.
  6. Druk de waarde van variabele y af op de console. Aangezien y is gedeclareerd als een teken, wordt het teken met de ASCII-waarde 66 geretourneerd, dat wil zeggen B.
  7. Druk de waarde van variabele z af op de console. Omdat z is gedeclareerd als een teken, wordt het teken met de ASCII-waarde 67 geretourneerd, dat wil zeggen C.
  8. Het programma moet waarde teruggeven na succesvolle voltooiing.
  9. Het einde van de hoofdtekst van de functie main ().

Tekens invoeren

We kunnen de functie std :: cin gebruiken om een ​​teken te lezen dat door de gebruiker via het toetsenbord is ingevoerd. Met std :: cin kun je veel karakters invoeren. De tekenvariabele kan echter slechts één teken bevatten. Dit betekent dat alleen het eerste ingevoerde teken wordt geëxtraheerd en opgeslagen in de tekenvariabele. De rest blijft in de buffer die wordt gebruikt door std :: cin. Om het uit te pakken, voert u volgende oproepen uit naar het std :: cin.

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Inclusief het iostream-headerbestand in onze code om de functies ervan te gebruiken.
  2. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  3. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  4. Druk wat tekst af op de console.
  5. Declareer een tekenvariabele met de naam ch.
  6. Lees gebruikersinvoer van het toetsenbord. De invoer wordt opgeslagen in de variabele ch. Aangezien een gebruiker een tekenreeks zoals abc zal typen, wordt alleen het eerste teken, a, opgeslagen in variabele ch.
  7. Het eerste ingevoerde teken, de ASCII-code en andere tekst op de console afdrukken. De ASCII-code wordt bepaald door de tekenvariabele door te geven aan de functie int ().
  8. Lees het volgende teken dat door de gebruiker is ingevoerd. De gebruiker hoeft geen nieuw teken in te voeren. Het leest in plaats daarvan het tweede teken dat is ingevoerd, dat wil zeggen, b.
  9. Het tweede ingevoerde teken, de ASCII-code en andere tekst op de console afdrukken. De ASCII-code wordt bepaald door de tekenvariabele door te geven aan de functie int ().
  10. Het programma moet waarde teruggeven na succesvolle voltooiing.
  11. Einde van de hoofdtekst van de functie main ().

Teken omzetten in tekenreeks

Er zijn een aantal manieren waarop we tekens naar strings kunnen converteren.

Laten we ze bespreken:

# 1: Constructor gebruiken gegeven door een String Class

Dit kan gedaan worden met behulp van de volgende syntaxis:

string st(int n,char x);

De parameter n geeft de grootte aan van de string die moet worden gegenereerd.

De parameter x is het teken dat naar een tekenreeks moet worden geconverteerd.

De functie retourneert een tekenreeks.

Voorbeeld 5:

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Inclusief het iostream-headerbestand in onze code om de functies ervan te gebruiken.
  2. Neem het string header-bestand op in onze code om de functies ervan te gebruiken.
  3. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  4. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  5. Zet het teken "C" om in een string van 1 lengte en wijs de resulterende string toe aan de variabele st.
  6. Print de waarde van de string st op de console naast andere tekst.
  7. Het programma moet waarde teruggeven na succesvolle voltooiing.
  8. Einde van de hoofdtekst van de functie main ().

# 2) Met behulp van de std :: string Operators = en + =

De operatoren = en + = zijn al overladen met tekens. De twee kunnen worden gebruikt om een ​​bepaald teken naar een tekenreeks te converteren.

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string header-bestand op in onze code om de functies ervan te gebruiken.
  3. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  4. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  5. Maak een stringvariabele met de naam st.
  6. Maak een teken met de naam b met de waarde B.
  7. Wijs een waarde van A toe aan de tekenreeks met de naam st.
  8. Gebruik de operator + = om tekens om te zetten in een tekenreeks.
  9. Print de waarde van de string st op de console naast andere tekst.
  10. Het programma moet waarde teruggeven na succesvolle voltooiing.
  11. Einde van de hoofdtekst van de functie main ().

# 3: Std :: string-methoden gebruiken

De klasse std :: string wordt geleverd met veel overbelaste functies die u kunnen helpen tekens in strings om te zetten.

Ze bevatten:

  • terugduwen

    Deze functie wijst een bepaald teken toe aan het einde van een string. Het is overbelast voor karakters.

    Het vereist de volgende syntaxis:

    void push_back(char ch)

    De parameter ch is het teken dat in een string moet worden veranderd.

  • toevoegen

    Het wijst veel kopieën van een bepaald teken toe aan een string.

    De functie heeft de volgende syntaxis:

    string& append(size_t n,char ch)

    De parameter n geeft de tijden aan waarop het teken wordt toegevoegd.

    De parameter ch is het teken dat aan de string moet worden toegevoegd.

  • toewijzen

    Deze functie vervangt de huidige inhoud van de tekenreeks door n kopieën van het opgegeven teken.

    Het vereist de volgende syntaxis:

    string& assign(size_t n,char ch);

    De parameter n geeft het totale aantal kopieën voor het teken aan.

    De parameter ch is het teken dat naar de string moet worden gekopieerd.

  • invoegen

    De functie insert voegt n kopieën van een teken in op de startpositie van de string, zoals gespecificeerd in de argumenten.

    Het vereist de volgende syntaxis:

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

    De parameter p geeft de positie vanaf het begin aan waar tekens worden ingevoegd.

    De parameter n geeft het totale aantal kopieën voor het teken aan.

    De parameter ch is het teken dat in de string moet worden ingevoegd.

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

Uitgang:

Hier is een screenshot van de code:

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string header-bestand op in onze code om de functies ervan te gebruiken.
  3. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  4. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  5. Maak een stringvariabele met de naam st.
  6. Wijs het teken A toe aan het einde van de string.
  7. Print de waarde van de string st op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  8. Stel de waarde van de string st in op leeg.
  9. Wijs een enkel teken C toe aan de tekenreeks met de naam st.
  10. Print de waarde van de string st op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  11. Stel de waarde van de string st in op leeg.
  12. Vervang de inhoud voor string st door een enkel teken D.
  13. Print de waarde van de string st op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  14. Voeg een enkel teken E toe aan de tekenreeks met de naam st vanaf de eerste index.
  15. Print de waarde van de string st op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  16. Het programma moet waarde teruggeven na succesvolle voltooiing.
  17. Einde van de hoofdtekst van de functie main ().

# 4: std :: stringstream gebruiken

Als u deze klasse wilt gebruiken om teken naar een tekenreeks te converteren, voegt u het teken in stream in.

Ze worden naar de string geschreven.

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

Uitgang:

Hier is een screenshot van de code:

Code Verklaring:

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string header-bestand op in onze code om de functies ervan te gebruiken.
  3. Neem het sstream-headerbestand op in onze code om de functies ervan te gebruiken.
  4. Neem de std-naamruimte op in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  5. De functie main () aanroepen. De programmalogica moet worden toegevoegd in de body van deze functie.
  6. Maak een stringvariabele met de naam st.
  7. Maak een streamvariabele met de naam myst.
  8. Voeg het teken A in het stream-object met de naam myst in.
  9. Zet het stream-object om in een string.
  10. Print de waarde van de string st op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  11. Het programma moet waarde teruggeven na succesvolle voltooiing.
  12. Einde van de hoofdtekst van de functie main ().

Overzicht:

  • Een char is een C ++ -gegevenstype dat wordt gebruikt voor de opslag van letters.
  • C ++ Char is een integraal gegevenstype, wat betekent dat de waarde wordt opgeslagen als een geheel getal.
  • Het neemt een geheugengrootte van 1 byte in beslag.
  • C ++ Char slaat slechts één teken op.
  • Char-waarden worden geïnterpreteerd als ASCII-tekens.
  • ASCII is een afkorting voor American Standard Code for Information Interchange.
  • Het vermeldt een specifieke manier om Engelse karakters weer te geven in de vorm van cijfers.
  • Om de ASCII-waarde van een teken te zien, geven we deze door aan de functie int ().
  • Om de corresponderende char-waarde van ASCII-waarde te zien, definiëren we de ASCII als een karakter.