Hvad er Char?
Char er en C ++ datatype designet til opbevaring af bogstaver. Char er et akronym for en karakter. Det er en integreret datatype, hvilket betyder, at værdien er gemt som et heltal. En char tager en hukommelsesstørrelse på 1 byte. Det gemmer også et enkelt tegn.
I denne C ++ tutorial lærer du:
- Hvad er Char?
- Hvad er ASCII?
- Char erklæring
- Syntaks:
- Udskrivning af ASCII-værdi
- Udskrivning af Char værdi
- Indtastning af tegn
- Konvertering af tegn til streng
Hvad er ASCII?
Char-værdien fortolkes som et ASCII-tegn. Dette svarer til, hvordan boolske værdier fortolkes som sande eller falske. ASCII er et akronym for American Standard Code for Information Interchange. Den definerer en bestemt måde at repræsentere engelske tegn på som tal.
Tallene ligger mellem 0 og 127. For eksempel svarer tegnet 'a' til ASCII-kode 97.
Char erklæring
For at erklære en char-variabel i C ++ bruger vi char-nøgleordet. Dette skal efterfølges af navnet på variablen. Variablen kan initialiseres på tidspunktet for erklæringen. Værdien af variablen skal være lukket inden for enkelte tilbud.
Syntaks:
Her er syntaksen for char-erklæring i C ++:
char variable-name;
Variabelnavnet er det navn, der skal tildeles variablen.
Hvis en værdi skal tildeles på erklæringstidspunktet, kan du bruge denne syntaks:
char variable-name = 'value';
- Variabelnavnet er navnet på char-variablen.
- Værdien er den værdi, der skal tildeles char-variablen.
Eksempel 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Omfatter iostream header-fil i vores kode for at bruge dens funktioner.
- Omfatter std navneområdet i vores kode for at kunne bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Erklær en karaktervariabel med navnet grade. Variablen er også tildelt værdien B. Bemærk, at variabelens værdi er lukket inden for enkelte anførselstegn.
- Udskriv værdien af den variable karakter sammen med anden tekst på konsollen.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
Udskrivning af ASCII-værdi
Som nævnt ovenfor fortolkes hvert tegn som ASCII-tegn. Det er muligt for dig at få ASCII-værdien for enhver karakter. Du sender simpelthen tegnet til int () - funktionen. Denne proces kaldes type casting. Lad os demonstrere dette:
Eksempel 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;} Produktion:
![]()
Her er et screenshot af koden:
Kode Forklaring:
- Omfatter iostream header-fil i vores kode for at kunne bruge dens funktioner.
- Omfatter std navneområdet i vores kode for at kunne bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Erklær en char-variabel med navnet ch.
- Udskriv tekst på konsollen. Teksten beder brugeren om at indtaste en værdi for variablen ch.
- Læs brugerindgangen fra tastaturet, og gem den i variablen ch.
- Udskriv tekst på konsollen. Teksten inkluderer det tegn, du indtastede for variabel ch, ASCII-værdien for dette tegn og anden tekst.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
Udskrivning af Char værdi
Med en ASCII-værdi kan C ++ - kompilatoren returnere det tilsvarende tegn. Du erklærer en char-variabel og tildeler den en heltalsværdi. Det konverteres til den tilsvarende tegnværdi.
Eksempel 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Omfatter iostream header-fil i koden. Vi bruger derefter dens funktioner uden at få fejl.
- Inkluder std navneområdet i koden. Vi bruger dens klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal gå ind i selve funktionen.
- Erklær tre tegn med variabler x, y og z. De tre har fået tildelt heltalværdier på 65, 66 og 67. Disse behandles som ASCII-værdier for tegn.
- Udskriv værdien af variablen x på konsollen. Da x blev erklæret som en char, returneres char med ASCII-værdi på 65, det vil sige A.
- Udskriv værdien af variablen y på konsollen. Da y blev erklæret som en char, vil char med ASCII-værdi på 66 blive returneret, det vil sige B.
- Udskriv værdien af variablen z på konsollen. Da z blev deklareret som en char, returneres char med ASCII-værdi på 67, det vil sige C.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
Indtastning af tegn
Vi kan bruge std :: cin-funktionen til at læse et tegn indtastet af brugeren via tastaturet. Std :: cin giver dig mulighed for at indtaste mange tegn. Tegnvariablen kan dog kun indeholde et tegn. Dette betyder, at kun det første tegn, der indtastes, udpakkes og gemmes i tegnvariablen. Resten forbliver i bufferen, der bruges af std :: cin. For at udtrække det skal du foretage efterfølgende opkald til std :: cin.
Eksempel 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;} Produktion:
![]()
Her er et screenshot af koden:
![]()
Kode Forklaring:
- Omfatter iostream header-fil i vores kode for at bruge dens funktioner.
- Inkluder std navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Udskriv tekst på konsollen.
- Erklær en tegnvariabel med navnet ch.
- Læs brugerinput fra tastaturet. Indgangen gemmes i variablen ch. Da en bruger vil skrive en tegnsekvens som abc, gemmes kun det første tegn, a, i variabel ch.
- Udskrivning af det første indtastede tegn, dets ASCII-kode og anden tekst på konsollen. ASCII-koden bestemmes ved at overføre tegnvariablen til funktionen int ().
- Læs det næste tegn, der blev indtastet af brugeren. Brugeren skal ikke indtaste et nyt tegn. Den læser i stedet det andet tegn, der blev indtastet, dvs. b.
- Udskrivning af det andet tegn, der er indtastet, dets ASCII-kode og anden tekst på konsollen. ASCII-koden bestemmes ved at overføre tegnvariablen til funktionen int ().
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
Konvertering af tegn til streng
Der findes en række måder, vi kan bruge til at konvertere tegn til strenge.
Lad os diskutere dem:
# 1: Brug af konstruktør givet af en strengklasse
Dette kan gøres ved hjælp af følgende syntaks:
string st(int n,char x);Parameteren n angiver størrelsen på den streng, der skal genereres.
Parameteren x er det tegn, der skal konverteres til en streng.
Funktionen returnerer en streng.
Eksempel 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Omfatter iostream header-fil i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Konverter tegnet "C" til en streng i 1 længde, og tildel den resulterende streng til variablen st.
- Udskriv værdien af streng st på konsollen sammen med anden tekst.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
# 2) Brug af std :: string Operators = og + =
Operatorerne = og + = er allerede overbelastet med tegn. De to kan bruges til at konvertere et bestemt tegn til en streng.
Eksempel 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;} Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Inkluder iostream header-filen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Opret en strengvariabel med navnet st.
- Opret et tegn med navnet b med værdien B.
- Tildel en værdi på A til strengen med navnet st.
- Brug operatoren + = til at konvertere tegn til en streng.
- Udskriv værdien af streng st på konsollen sammen med anden tekst.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
# 3: Brug af std :: strengmetoder
Std :: strengklassen kommer med mange overbelastede funktioner, der kan hjælpe dig med at konvertere tegn til strenge.
De omfatter:
- skub tilbage
Denne funktion tildeler en bestemt karakter til en strengs slutning. Det er overbelastet for tegn.
Det tager følgende syntaks:
void push_back(char ch)Parameteren ch er det tegn, der skal ændres til en streng.
- Tilføj
Det tildeler en streng mange kopier af en bestemt karakter.
Funktionen tager følgende syntaks:
string& append(size_t n,char ch)Parameteren n angiver de tidspunkter, hvor tegnet tilføjes.
Parameteren ch er det tegn, der skal føjes til streng.
- tildele
Denne funktion erstatter det aktuelle indhold af strengen med n kopier af det angivne tegn.
Det tager følgende syntaks:
string& assign(size_t n,char ch);Parameteren n angiver det samlede antal kopier for tegnet.
Parameteren ch er det tegn, der skal kopieres til strengen.
- indsæt
Indsætningsfunktionen indsætter n kopier af et tegn ved strengens startposition som angivet i argumenterne.
Det tager følgende syntaks:
string& insert(size_t p,size_t n,char ch);Parameteren p angiver placeringen fra starten, hvor tegn indsættes.
Parameteren n angiver det samlede antal kopier for tegnet.
Parameteren ch er det tegn, der skal indsættes i strengen.
Eksempel 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;} Produktion:
Her er et screenshot af koden:
- Inkluder iostream header-filen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder std navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Opret en strengvariabel med navnet st.
- Tildel karakteren A til slutningen af strengen.
- Udskriv værdien af streng st på konsollen sammen med anden tekst. Endl (slutlinje) flytter markøren til den næste linje.
- Indstil værdien af streng st til tom.
- Tildel enkelt tegn C til strengen med navnet st.
- Udskriv værdien af streng st på konsollen sammen med anden tekst. Endl (slutlinje) flytter markøren til den næste linje.
- Indstil værdien af streng st til tom.
- Udskift indholdet for strengstreng med enkelt tegn D.
- Udskriv værdien af streng st på konsollen sammen med anden tekst. Endl (slutlinje) flytter markøren til den næste linje.
- Indsæt enkelt tegn E i strengen med navnet st fra det første indeks.
- Udskriv værdien af streng st på konsollen sammen med anden tekst. Endl (slutlinje) flytter markøren til den næste linje.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
# 4: Brug af std :: stringstream
Hvis du vil bruge denne klasse til at konvertere tegn til en streng, skal du indsætte tegnet i stream.
De skrives til strengen.
Eksempel 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;} Produktion:
Her er et screenshot af koden:
Kode Forklaring:
- Inkluder iostream header-filen i vores kode for at bruge dens funktioner.
- Inkluder strenghovedfilen i vores kode for at bruge dens funktioner.
- Inkluder sstream header-filen i vores kode for at bruge dens funktioner.
- Inkluder std navneområdet i vores kode for at bruge dets klasser uden at kalde det.
- Ringer til hovedfunktionen (). Programmets logik skal tilføjes inden for denne funktion.
- Opret en strengvariabel med navnet st.
- Opret en streamvariabel med navnet myst.
- Indsæt karakteren A i strømobjektet ved navn myst.
- Konverter streamobjektet til en streng.
- Udskriv værdien af streng st på konsollen sammen med anden tekst. Endl (slutlinje) flytter markøren til den næste linje.
- Programmet skal returnere værdi efter vellykket afslutning.
- Slutningen af hovedfunktionens () krop.
Resumé:
- En char er en C ++ datatype, der bruges til lagring af bogstaver.
- C ++ Char er en integreret datatype, hvilket betyder, at værdien er gemt som et heltal.
- Den har en hukommelsesstørrelse på 1 byte.
- C ++ Char gemmer kun enkelt tegn.
- Char-værdier fortolkes som ASCII-tegn.
- ASCII er et akronym for American Standard Code for Information Interchange.
- Den angiver en bestemt måde at repræsentere engelske tegn i form af tal.
- For at se ASCII-værdien for et tegn videregiver vi det til funktionen int ().
- For at se den tilsvarende tegnværdi af ASCII-værdi definerer vi ASCII som et tegn.