Što je Char?
Char je vrsta podataka C ++ dizajnirana za pohranu slova. Char je kratica za lik. To je integralni tip podataka, što znači da je vrijednost pohranjena kao cijeli broj. Char uzima veličinu memorije od 1 bajta. Također pohranjuje jedan znak.
U ovom C ++ tutorialu naučit ćete:
- Što je Char?
- Što je ASCII?
- Char izjava
- Sintaksa:
- Ispis ASCII vrijednosti
- Ispis vrijednosti Char
- Unos znakova
- Pretvaranje znaka u niz
Što je ASCII?
Vrijednost char tumači se kao ASCII znak. To je slično načinu na koji se logičke vrijednosti tumače kao istinite ili netačne. ASCII je kratica od American Standard Code for Information Interchange. Definira specifičan način predstavljanja engleskih znakova kao brojeva.
Brojevi se kreću od 0 do 127. Na primjer, znak 'a' ekvivalentan je ASCII kodu 97.
Char izjava
Da bismo deklarirali varijablu char u C ++, koristimo ključnu riječ char. Nakon toga treba slijediti naziv varijable. Varijabla se može inicijalizirati u trenutku deklaracije. Vrijednost varijable treba staviti u pojedinačne navodnike.
Sintaksa:
Evo sintakse za char izjavu u C ++:
char variable-name;
Naziv varijable naziv je koji se dodjeljuje varijabli.
Ako se vrijednost treba dodijeliti u vrijeme deklaracije, možete upotrijebiti ovu sintaksu:
char variable-name = 'value';
- Ime varijable je ime varijable char.
- Vrijednost je vrijednost koja se dodjeljuje varijabli char.
Primjer 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje datoteke zaglavlja iostream u naš kod za korištenje njegovih funkcija.
- Uključivanje prostora naziva std u naš kôd kako bismo mogli koristiti njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Deklarirajte varijablu znaka pod nazivom grade. Varijabli je također dodijeljena vrijednost B. Primijetite da je vrijednost varijable zatvorena u pojedinačne navodnike.
- Ispišite vrijednost varijable ocjena zajedno s drugim tekstom na konzoli.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
Ispis ASCII vrijednosti
Kao što je gore rečeno, svaki znak se tumači kao ASCII znak. Moguće je da dobijete ASCII vrijednost bilo kojeg znaka. Znak jednostavno proslijedite funkciji int (). Taj se postupak naziva lijevanje tipa. Pokažimo ovo:
Primjer 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;} Izlaz:
![]()
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje datoteke zaglavlja iostream u naš kod kako bi se koristile njegove funkcije.
- Uključivanje prostora naziva std u naš kôd kako bismo mogli koristiti njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Proglasite char varijablu pod nazivom ch.
- Ispišite malo teksta na konzolu. Tekst traži od korisnika da unese vrijednost za varijablu ch.
- Pročitajte korisnički unos s tipkovnice i spremite ga u varijablu ch.
- Ispišite malo teksta na konzolu. Tekst će sadržavati znak koji ste unijeli za varijablu ch, ASCII vrijednost ovog znaka i drugi tekst.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
Ispis vrijednosti Char
S obzirom na ASCII vrijednost, prevodilac C ++ može vratiti odgovarajući znak. Deklarirate varijablu char i dodjeljujete joj cijelu vrijednost. Pretvorit će se u odgovarajuću vrijednost znaka.
Primjer 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje datoteke zaglavlja iostream u kod. Tada ćemo koristiti njegove funkcije bez pogrešaka.
- Uključite std prostor imena u kod. Koristit ćemo njegove klase bez da ga zovemo.
- Pozivanje glavne () funkcije. Logika programa trebala bi ući u tijelo ove funkcije.
- Deklarirajte tri char varijable x, y i z. Njima su dodijeljene cjelobrojne vrijednosti 65, 66 i 67. Oni će se tretirati kao ASCII vrijednosti za znakove.
- Ispišite vrijednost varijable x na konzoli. Budući da je x proglašen znakom, vratit će se znak s ASCII vrijednošću 65, to jest A.
- Ispišite vrijednost varijable y na konzoli. Budući da je y proglašen znakom, vratit će se znak s ASCII vrijednošću 66, to jest B.
- Ispišite vrijednost varijable z na konzoli. Budući da je z deklarirano kao char, vratit će se char s ASCII vrijednošću 67, to jest C.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
Unos znakova
Funkciju std :: cin možemo koristiti za čitanje znaka koji je korisnik unio putem tipkovnice. Std :: cin omogućit će vam unos mnogih znakova. Međutim, varijabla znaka može sadržavati samo jedan znak. To znači da će samo prvi uneseni znak biti izdvojen i pohranjen u varijablu znaka. Ostatak će ostati u međuspremniku koji koristi std :: cin. Da biste ga izdvojili, pozovite std :: cin.
Primjer 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;} Izlaz:
![]()
Evo snimke zaslona koda:
![]()
Objašnjenje koda:
- Uključivanje datoteke zaglavlja iostream u naš kod za korištenje njegovih funkcija.
- Uključite std prostor imena u naš kôd da biste koristili njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Ispišite malo teksta na konzolu.
- Deklarirajte varijablu znaka pod nazivom ch.
- Pročitajte unos korisnika s tipkovnice. Ulaz će biti pohranjen u varijablu ch. Budući da će korisnik upisati slikovni niz poput abc, samo će se prvi znak a pohraniti u varijablu ch.
- Ispis prvog unesenog znaka, njegovog ASCII koda i ostalog teksta na konzoli. ASCII kôd se određuje prosljeđivanjem varijable znaka funkciji int ().
- Pročitajte sljedeći znak koji je korisnik unio. Od korisnika se neće tražiti da unese novi znak. Umjesto toga, on će pročitati drugi uneseni znak, tj. B.
- Ispis drugog unesenog znaka, njegovog ASCII koda i ostalog teksta na konzoli. ASCII kôd se određuje prosljeđivanjem varijable znaka funkciji int ().
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
Pretvaranje znaka u niz
Postoji nekoliko načina na koje možemo pretvoriti znakove u nizove.
Razgovarajmo o njima:
# 1: Korištenje konstruktora koji daje klasa stringa
To se može učiniti pomoću sljedeće sintakse:
string st(int n,char x);Parametar n označava veličinu niza koji treba generirati.
Parametar x je znak koji se pretvara u niz.
Funkcija vraća niz.
Primjer 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključivanje datoteke zaglavlja iostream u naš kod za korištenje njegovih funkcija.
- Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
- Uključite std prostor imena u naš kôd da biste koristili njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Pretvorite znak "C" u niz duljine 1 i rezultirajući niz dodijelite varijabli st.
- Ispišite vrijednost niza st na konzoli uz drugi tekst.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
# 2) Korištenje std :: string Operators = i + =
Operatori = i + = već su preopterećeni znakovima. Njih dvoje mogu se koristiti za pretvaranje određenog znaka u niz.
Primjer 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;} Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključite iostream datoteku zaglavlja u naš kod da biste koristili njegove funkcije.
- Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
- Uključite std prostor imena u naš kôd da biste koristili njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Stvorite varijablu niza pod nazivom st.
- Stvorite lik imena b s vrijednošću B.
- Stringu nazvanom st. Dodijelite vrijednost A
- Upotrijebite operator + = za pretvaranje znakova u niz.
- Ispišite vrijednost niza st na konzoli uz drugi tekst.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
# 3: Korištenje metoda std :: string
Klasa std :: string dolazi s mnogim preopterećenim funkcijama koje vam mogu pomoći pretvoriti znakove u nizove.
Oni uključuju:
- odgurnuti
Ova funkcija dodjeljuje određeni znak kraju niza. Preopterećen je za likove.
Potrebna je sljedeća sintaksa:
void push_back(char ch)Parametar ch je znak koji treba promijeniti u niz.
- dodati
Nizu dodjeljuje mnogo kopija određenog znaka.
Funkcija uzima sljedeću sintaksu:
string& append(size_t n,char ch)Parametar n označava vremena dodavanja znaka.
Parametar ch je znak koji se dodaje u niz.
- dodijeliti
Ova funkcija zamjenjuje trenutni sadržaj niza s n kopija navedenog znaka.
Potrebna je sljedeća sintaksa:
string& assign(size_t n,char ch);Parametar n označava ukupne kopije znaka.
Parametar ch je znak za kopiranje u niz.
- umetnuti
Funkcija umetanja ubacuje n kopija znaka na početnom položaju niza, kako je navedeno u argumentima.
Potrebna je sljedeća sintaksa:
string& insert(size_t p,size_t n,char ch);Parametar p označava položaj od početka gdje će se umetnuti znakovi.
Parametar n označava ukupne kopije znaka.
Parametar ch je znak koji treba umetnuti u niz.
Primjer 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;} Izlaz:
Evo snimke zaslona koda:
- Uključite iostream datoteku zaglavlja u naš kod da biste koristili njegove funkcije.
- Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
- Uključite std prostor imena u naš kôd da biste koristili njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Stvorite varijablu niza pod nazivom st.
- Dodijelite znak A kraju niza.
- Ispišite vrijednost niza st na konzoli uz drugi tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
- Postavite vrijednost niza st na prazno.
- Dodijelite jedan znak C nizu pod nazivom st.
- Ispišite vrijednost niza st na konzoli uz drugi tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
- Postavite vrijednost niza st na prazno.
- Zamijenite sadržaj niza st jednim znakom D.
- Ispišite vrijednost niza st na konzoli uz drugi tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
- Umetnite pojedinačni znak E u niz naziva st iz njegovog prvog indeksa.
- Ispišite vrijednost niza st na konzoli uz drugi tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
# 4: Korištenje std :: stringstream
Da biste koristili ovu klasu za pretvorbu znaka u niz, umetnite znak u tok.
Oni će biti zapisani u niz.
Primjer 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;} Izlaz:
Evo snimke zaslona koda:
Objašnjenje koda:
- Uključite iostream datoteku zaglavlja u naš kod da biste koristili njegove funkcije.
- Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
- Uključite datoteku zaglavlja sstream u naš kod da biste koristili njegove funkcije.
- Uključite std prostor imena u naš kôd da biste koristili njegove klase bez pozivanja.
- Pozivanje glavne () funkcije. Logiku programa treba dodati unutar tijela ove funkcije.
- Stvorite varijablu niza pod nazivom st.
- Stvorite varijablu streama pod nazivom myst.
- Umetnite znak A u objekt streama nazvan myst.
- Pretvorite objekt streama u niz.
- Ispišite vrijednost niza st na konzoli uz drugi tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
- Program mora vratiti vrijednost nakon uspješnog završetka.
- Kraj tijela glavne () funkcije.
Sažetak:
- Char je vrsta podataka C ++ koja se koristi za pohranu slova.
- C ++ Char je integralni tip podataka, što znači da je vrijednost pohranjena kao cijeli broj.
- Zauzima veličinu memorije od 1 bajta.
- C ++ Char pohranjuje samo jedan znak.
- Vrijednosti char tumače se kao ASCII znakovi.
- ASCII je kratica od American Standard Code for Information Interchange.
- Navodi se specifičan način predstavljanja engleskih znakova u obliku brojeva.
- Da bismo vidjeli ASCII vrijednost znaka, prosljeđujemo je funkciji int ().
- Da bismo vidjeli odgovarajuću vrijednost znaka ASCII vrijednosti, definiramo ASCII kao znak.