C++ Char-gegevenstype met voorbeelden

โšก Slimme samenvatting

Het gegevenstype char in C++ Slaat een enkel teken, zoals een letter of cijfer, op met behulp van de ASCII-waarde. Hier leer je hoe je tekens declareert, ASCII-waarden afdrukt, tekens invoert en een teken naar een tekenreeks converteert.

  • ๐Ÿ”ค Wat het is: Een char slaat รฉรฉn enkel teken op met behulp van de ASCII-waarde ervan.
  • ๐Ÿ”ข ASCII: Elk teken komt overeen met een numerieke ASCII-code, zoals 'A' met de waarde 65.
  • ๐Ÿ”ง Verklaring: Declareer een teken met enkele aanhalingstekens, bijvoorbeeld: `char grade = 'A';`.
  • ๐Ÿ” Konversion: Converteer een char naar een int om de ASCII-waarde te verkrijgen, en weer terug.
  • ๐Ÿค– AI-ondersteuning: AI-tools zoals GitHub Copilot verwerken tekens en ASCII-code direct.

C++ Char-gegevenstype

Wat is Char?

Char is een C++ gegevenstype dat is ontworpen voor de opslag van letters. Char is een afkorting voor een alfanumeriek teken. Het is een integraal gegevenstype, wat betekent dat de waarde wordt opgeslagen als een geheel getal. Een char neemt een geheugengrootte van 1 byte in beslag. Het slaat ook een enkel teken op.

Wat is ASCII?

De waarde van het teken 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 voor American Standard. Code voor informatie-uitwisseling. Het definieert een specifieke manier om Engelse tekens als getallen weer te geven.

De getallen variรซren van 0 tot en met 127. Het teken 'a' is bijvoorbeeld equivalent aan ASCII-code 97.

Char-verklaring

Aangifte doen van een char variabele in C++, gebruiken we het trefwoord char. Dit moet worden gevolgd door de naam van de variabele. De variabele kan worden geรฏnitialiseerd op het moment van de declaratie. De waarde van de variabele moet tussen enkele aanhalingstekens worden geplaatst.

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 er op het moment van declaratie een waarde moet worden toegekend, 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 <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

Output:

Char-verklaring

Hier is een screenshot van de code:

Char-verklaring

Code Uitleg:

  1. Het iostream-headerbestand opnemen in onze code om de functies ervan te gebruiken.
  2. Inclusief de std-naamruimte in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  3. De functie main() aanroepen. De programmalogica moet worden toegevoegd aan de hoofdtekst 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 samen met andere tekst op de console af.
  6. Het programma moet waarde retourneren 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 voor u mogelijk om de ASCII-waarde van elk teken te achterhalen. U geeft het teken eenvoudigweg door aan de functie int(). Dit proces wordt typecasting genoemd. Laten we dit demonstreren:

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

Output:

ASCII-waarde afdrukken

Hier is een screenshot van de code:

ASCII-waarde afdrukken

Code Uitleg:

  1. Het iostream-headerbestand in onze code opnemen om de functies ervan te gebruiken.
  2. Het opnemen van de std-naamruimte in onze code om de klassen ervan te gebruiken zonder deze aan te roepen.
  3. De functie main() aanroepen. De programmalogica moet worden toegevoegd aan de hoofdtekst 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 u hebt ingevoerd voor de variabele ch, de ASCII-waarde van dit teken en andere tekst.
  8. Het programma moet waarde retourneren na succesvolle voltooiing.
  9. Einde van de hoofdtekst van de functie main().

Char-waarde afdrukken

Gegeven een ASCII-waarde, wordt de C++ compiler kan het overeenkomstige 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 <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

Output:

Char-waarde afdrukken

Hier is een screenshot van de code:

Char-waarde afdrukken

Code Uitleg:

  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 de klassen gebruiken zonder deze aan te roepen.
  3. De functie main() aanroepen. De programmalogica moet in de hoofdtekst van deze functie worden opgenomen.
  4. Declareer drie char-variabelen x, y en z. Aan de drie zijn gehele getallen 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 als char is gedeclareerd, wordt de char met een ASCII-waarde van 65 geretourneerd, dat wil zeggen A.
  6. Druk de waarde van variabele y af op de console. Omdat y als char is gedeclareerd, wordt de char met een ASCII-waarde van 66 geretourneerd, dat wil zeggen B.
  7. Druk de waarde van variabele z af op de console. Omdat z als een char is gedeclareerd, wordt de char met een ASCII-waarde van 67 geretourneerd, dat wil zeggen C.
  8. Het programma moet waarde retourneren 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 de gebruiker via het toetsenbord invoert. Met `std::cin` kun je meerdere tekens invoeren. De variabele `charm` kan echter slechts รฉรฉn teken bevatten. Dit betekent dat alleen het eerste ingevoerde teken wordt gelezen.tracted en opgeslagen in de tekenvariabele. De rest blijft in de buffer die door std::cin wordt gebruikt. Om uit tetract it, maak vervolgens aanroepen naar std::cin.

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

Output:

Tekens invoeren

Hier is een screenshot van de code:

Tekens invoeren

Code Uitleg:

  1. Het iostream-headerbestand opnemen 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 aan de hoofdtekst van deze functie.
  4. Druk wat tekst af op de console.
  5. Declareer een karaktervariabele met de naam ch.
  6. Lees gebruikersinvoer vanaf het toetsenbord. De invoer wordt opgeslagen in de variabele ch. Omdat een gebruiker een tekenreeks zoals abc typt, wordt alleen het eerste teken, a, opgeslagen in variabele ch.
  7. Afdrukken van het eerste ingevoerde teken, de ASCII-code en andere tekst op de console. De ASCII-code wordt bepaald door de karaktervariabele 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. In plaats daarvan wordt het tweede teken gelezen dat is ingevoerd, dat wil zeggen b.
  9. Het tweede ingevoerde teken, de ASCII-code en andere tekst afdrukken op de console. De ASCII-code wordt bepaald door de karaktervariabele door te geven aan de functie int().
  10. Het programma moet waarde retourneren na succesvolle voltooiing.
  11. Einde van de hoofdtekst van de functie main().

Teken naar tekenreeks converteren

Er bestaan โ€‹โ€‹een aantal manieren waarop we karakters kunnen converteren strings.

Laten we ze bespreken:

#1: Constructor gebruiken gegeven door een String-klasse

Dit kan worden gedaan 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 string moet worden geconverteerd.

De functie retourneert een tekenreeks.

Voorbeeld 5:

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

Output:

Teken naar tekenreeks converteren

Hier is een screenshot van de code:

Teken naar tekenreeks converteren

Code Uitleg:

  1. Het iostream-headerbestand opnemen in onze code om de functies ervan te gebruiken.
  2. Neem het string-headerbestand 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 aan de hoofdtekst van deze functie.
  5. Converteer het teken โ€œCโ€ naar een string van 1 lengte en wijs de resulterende string toe aan de variabele st.
  6. Druk de waarde van de string st af op de console naast andere tekst.
  7. Het programma moet waarde retourneren 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 om te zetten in een string.

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

Output:

Teken naar tekenreeks converteren

Hier is een screenshot van de code:

Teken naar tekenreeks converteren

Code Uitleg:

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string-headerbestand 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 aan de hoofdtekst van deze functie.
  5. Maak een stringvariabele met de naam st.
  6. Maak een personage met de naam b met de waarde B.
  7. Wijs een waarde A toe aan de tekenreeks met de naam st.
  8. Gebruik de operator += om tekens naar een tekenreeks te converteren.
  9. Druk de waarde van de string st af op de console naast andere tekst.
  10. Het programma moet waarde retourneren 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 bij het omzetten van tekens in tekenreeksen.

Zij omvatten:

  • terugduwen Deze functie wijst een bepaald teken toe aan het einde van een string. Het is overladen voor tekens. Het gebruikt de volgende syntaxis:
    void push_back(char ch)
    

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

  • toevoegen Hiermee worden meerdere kopieรซn van een bepaald teken aan een tekenreeks toegewezen. De functie gebruikt de volgende syntaxis:
    string& append(size_t n,char ch)
    

    De parameter n geeft de keren aan dat 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. De volgende syntaxis wordt gebruikt:
    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 beginpositie van de string, zoals gespecificeerd in de argumenten. Het gebruikt 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<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;
}

Output:

Teken naar tekenreeks converteren

Hier is een screenshot van de code:

Teken naar tekenreeks converteren

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string-headerbestand 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 aan de hoofdtekst van deze functie.
  5. Maak een stringvariabele met de naam st.
  6. Wijs het teken A toe aan het einde van de tekenreeks.
  7. Druk de waarde van de string st af 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 รฉรฉn teken C toe aan de tekenreeks met de naam st.
  10. Druk de waarde van de string st af 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 van string st door รฉรฉn teken D.
  13. Druk de waarde van de string st af 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 string met de naam st uit de eerste index.
  15. Druk de waarde van de string st af op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  16. Het programma moet waarde retourneren na succesvolle voltooiing.
  17. Einde van de hoofdtekst van de functie main().

#4: std::stringstream gebruiken

Om deze klasse te gebruiken om tekens naar een string te converteren, voegt u het teken in de stream in.

Ze worden naar de string geschreven.

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

Output:

Teken naar tekenreeks converteren

Hier is een screenshot van de code:

Teken naar tekenreeks converteren

Code Uitleg:

  1. Neem het iostream-headerbestand op in onze code om de functies ervan te gebruiken.
  2. Neem het string-headerbestand 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 aan de hoofdtekst van deze functie.
  6. Maak een stringvariabele met de naam st.
  7. Maak een streamvariabele met de naam myst.
  8. Plaats het teken A in het streamobject met de naam myst.
  9. Converteer het streamobject naar een tekenreeks.
  10. Druk de waarde van de string st af op de console naast andere tekst. De endl (eindregel) verplaatst de cursor naar de volgende regel.
  11. Het programma moet waarde retourneren na succesvolle voltooiing.
  12. Einde van de hoofdtekst van de functie main().

Veelgestelde vragen

Een char is een gegevenstype dat een enkel teken opslaat, zoals een letter, cijfer of symbool. Het neemt รฉรฉn byte in beslag en bevat intern de ASCII-waarde van het teken.

ASCII is een standaard die tekens koppelt aan getallen van 0 tot 127. In C++Elk teken slaat zijn ASCII-code op, dus 'A' is 65 en 'a' is 97.

Declareer een teken met het trefwoord `char` en een enkel teken tussen enkele aanhalingstekens, bijvoorbeeld: `char grade = 'A';`. Enkele aanhalingstekens zijn vereist, geen dubbele aanhalingstekens.

Converteer het teken naar een integer, bijvoorbeeld met int(ch) of (int)ch, en print het. Hierdoor wordt de numerieke ASCII-code weergegeven in plaats van het teken zelf.

Gebruik cin met de extracDe `tion`-operator leest een enkel teken, zoals `cin` gevolgd door `ch`. Deze slaat het volgende niet-witruimteteken op dat de gebruiker typt.

Je kunt een teken toewijzen aan een std::string, de stringconstructor gebruiken of eraan toevoegen, bijvoorbeeld std::string s(1, ch); om een โ€‹โ€‹tekenreeks van รฉรฉn teken te maken.

AI-assistenten zoals GitHub Copilot genereren conversies van tekens naar ASCII, schrijven invoerlussen voor tekens en suggereren correcties voor veelvoorkomende fouten met tekens en tekenreeksen terwijl je typt.

Ja. AI-gestuurde tools genereren ASCII- en hoofdletterconversiecode, verwerken teken-naar-tekenreeksconversies en signaleren fouten zoals het gebruik van dubbele aanhalingstekens voor รฉรฉn enkel teken.

Vat dit bericht samen met: