C++ Vrsta podataka Char s primjerima

Što je Char?

Char je a C++ tip podataka dizajniran za pohranjivanje slova. Char je skraćenica za alfanumerički znak. To je integralni tip podataka, što znači da je vrijednost pohranjena kao cijeli broj. Znak zauzima veličinu memorije od 1 bajta. Također pohranjuje jedan znak.

Što je ASCII?

Vrijednost char tumači se kao ASCII znak. To je slično načinu na koji se Booleove vrijednosti tumače kao istinite ili lažne. ASCII je akronim za američki standardni kod za razmjenu informacija. Definira specifičan način predstavljanja engleskih znakova kao brojeva.

Brojevi se kreću između 0 i 127. Na primjer, znak 'a' ekvivalentan je ASCII kodu 97.

Char deklaracija

Izjaviti a char varijabla u C++, koristimo ključnu riječ char. Nakon toga treba slijediti naziv varijable. Varijabla se može inicijalizirati u trenutku deklaracije. Vrijednost varijable treba biti unutar jednostrukih navodnika.

Sintaksa

Ovdje je sintaksa za char deklaraciju u C++:

char variable-name;

Naziv varijable je naziv koji se treba dodijeliti varijabli.

Ako se vrijednost treba dodijeliti u trenutku deklaracije, možete koristiti ovu sintaksu:

char variable-name = 'value';	
  • Ime-varijable je ime varijable char.
  • Vrijednost je vrijednost koju treba dodijeliti char varijabli.

Primjer 1:

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

Izlaz:

Char deklaracija

Evo snimke zaslona koda:

Char deklaracija

Objašnjenje koda:

  1. Uključivanje iostream datoteke zaglavlja u naš kod za korištenje njegovih funkcija.
  2. Uključivanje std imenskog prostora u naš kod kako bismo koristili njegove klase bez pozivanja.
  3. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  4. Deklarirajte znakovnu varijablu pod nazivom ocjena. Varijabli je također dodijeljena vrijednost B. Primijetite da je vrijednost varijable unutar jednostrukih navodnika.
  5. Ispišite vrijednost varijable ocjene uz ostali tekst na konzoli.
  6. Program mora vratiti vrijednost nakon uspješnog završetka.
  7. Kraj tijela funkcije main().

Ispis ASCII vrijednosti

Kao što je gore navedeno, svaki znak se tumači kao ASCII znak. Moguće je da dobijete ASCII vrijednost bilo kojeg znaka. Jednostavno proslijedite znak funkciji int(). Taj se proces naziva lijevanje tipa. Pokažimo ovo:

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

Izlaz:

Ispis ASCII vrijednosti

Evo snimke zaslona koda:

Ispis ASCII vrijednosti

Objašnjenje koda:

  1. Uključivanje iostream datoteke zaglavlja u naš kod kako bismo koristili njezine funkcije.
  2. Uključivanje std imenskog prostora u naš kod kako bismo koristili njegove klase bez pozivanja.
  3. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  4. Deklarirajte char varijablu pod imenom ch.
  5. Ispišite tekst na konzoli. Tekst traži od korisnika da unese vrijednost za varijablu ch.
  6. Pročitaj korisnički unos s tipkovnice i pohrani ga u varijablu ch.
  7. Ispišite tekst na konzoli. Tekst će uključivati ​​znak koji ste unijeli za varijablu ch, ASCII vrijednost ovog znaka i drugi tekst.
  8. Program mora vratiti vrijednost nakon uspješnog završetka.
  9. Kraj tijela funkcije main().

Ispis vrijednosti znakova

S obzirom na ASCII vrijednost, C++ prevodilac može vratiti odgovarajući znak. Deklarirate char varijablu i dodijelite joj cjelobrojnu vrijednost. Bit će pretvoren u odgovarajuću vrijednost znaka.

Primjer 3:

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

Izlaz:

Ispis vrijednosti znakova

Evo snimke zaslona koda:

Ispis vrijednosti znakova

Objašnjenje koda:

  1. Uključivanje datoteke zaglavlja iostreama u kôd. Zatim ćemo koristiti njegove funkcije bez dobivanja pogrešaka.
  2. Uključite prostor imena std u kod. Koristit ćemo njegove klase bez pozivanja.
  3. Pozivanje funkcije main(). Logika programa trebala bi ići u tijelo ove funkcije.
  4. Deklarirajte tri char varijable x, y i z. Njima su dodijeljene cjelobrojne vrijednosti 65, 66 i 67. One će se tretirati kao ASCII vrijednosti za znakove.
  5. Ispišite vrijednost varijable x na konzoli. Budući da je x deklariran kao char, bit će vraćen char s ASCII vrijednošću 65, to jest A.
  6. Ispišite vrijednost varijable y na konzoli. Budući da je y deklariran kao char, bit će vraćen char s ASCII vrijednošću 66, to jest B.
  7. Ispišite vrijednost varijable z na konzoli. Budući da je z deklariran kao char, bit će vraćen char s ASCII vrijednošću 67, to jest C.
  8. Program mora vratiti vrijednost nakon uspješnog završetka.
  9. Kraj tijela funkcije main().

Unos znakova

Možemo koristiti funkciju std::cin za čitanje znakova koje je korisnik unio putem tipkovnice. Std::cin će vam omogućiti da unesete mnogo znakova. Međutim, karakterna varijabla može sadržavati samo jedan znak. To znači da će samo prvi uneseni znak biti ekstrahiran i pohranjen u varijabli znakova. Ostatak će ostati u međuspremniku koji koristi std::cin. Da biste ga izdvojili, izvršite naknadne pozive na std::cin.

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

Izlaz:

Unos znakova

Evo snimke zaslona koda:

Unos znakova

Objašnjenje koda:

  1. Uključivanje iostream datoteke zaglavlja u naš kod za korištenje njegovih funkcija.
  2. Uključite prostor imena std u naš kod da biste koristili njegove klase bez pozivanja.
  3. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  4. Ispišite tekst na konzoli.
  5. Deklarirajte znakovnu varijablu pod imenom ch.
  6. Čitanje korisničkog unosa s tipkovnice. Unos će biti pohranjen u varijabli ch. Budući da će korisnik upisati niz znakova poput abc, samo će prvi znak, a, biti pohranjen u varijabli ch.
  7. Ispis prvog unesenog znaka, njegovog ASCII koda i drugog teksta na konzoli. ASCII kod se određuje prosljeđivanjem znakovne varijable funkciji int().
  8. Pročitajte sljedeći znak koji je unio korisnik. Korisnik neće morati unijeti novi znak. Umjesto toga čitat će drugi znak koji je unesen, to jest b.
  9. Ispis drugog unesenog znaka, njegovog ASCII koda i drugog teksta na konzoli. ASCII kod se određuje prosljeđivanjem znakovne varijable funkciji int().
  10. Program mora vratiti vrijednost nakon uspješnog završetka.
  11. Kraj tijela funkcije main().

Pretvaranje znaka u niz

Postoji nekoliko načina na koje možemo pretvoriti znakove žice.

Raspravljajmo o njima:

#1: Korištenje konstruktora koji daje klasa niza

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 se želi generirati.

Parametar x je znak koji se pretvara u niz.

Funkcija vraća niz.

Primjer 5:

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

Izlaz:

Pretvaranje znaka u niz

Evo snimke zaslona koda:

Pretvaranje znaka u niz

Objašnjenje koda:

  1. Uključivanje iostream datoteke zaglavlja u naš kod za korištenje njegovih funkcija.
  2. Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
  3. Uključite prostor imena std u naš kod da biste koristili njegove klase bez pozivanja.
  4. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  5. Pretvorite znak “C” u niz duljine 1 i dodijelite rezultirajući niz varijabli st.
  6. Ispišite vrijednost niza st na konzoli uz ostali tekst.
  7. Program mora vratiti vrijednost nakon uspješnog završetka.
  8. Kraj tijela funkcije main().

#2) Korištenje std::string Operatorovi = i +=

Operatori = i += već su pretrpani znakovima. Dva se mogu koristiti za pretvaranje određenog znaka u niz.

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

Izlaz:

Pretvaranje znaka u niz

Evo snimke zaslona koda:

Pretvaranje znaka u niz

Objašnjenje koda:

  1. Uključite iostream datoteku zaglavlja u naš kod da biste koristili njezine funkcije.
  2. Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
  3. Uključite prostor imena std u naš kod da biste koristili njegove klase bez pozivanja.
  4. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  5. Napravite string varijablu imena st.
  6. Napravite znak pod nazivom b s vrijednošću B.
  7. Dodijelite vrijednost A nizu pod nazivom st.
  8. Upotrijebite operator += za pretvaranje znakova u niz.
  9. Ispišite vrijednost niza st na konzoli uz ostali tekst.
  10. Program mora vratiti vrijednost nakon uspješnog završetka.
  11. Kraj tijela funkcije main().

#3: Korištenje std::string metoda

Klasa std::string dolazi s mnogo preopterećenih funkcija koje vam mogu pomoći pretvoriti znakove u nizove.

Oni uključuju:

  • odgurnuti Ova funkcija dodjeljuje određeni znak kraju niza. Preopterećen je znakovima. Potrebna je sljedeća sintaksa:
    void push_back(char ch)
    

    Parametar ch je znak koji treba promijeniti u niz.

  • dodati Dodjeljuje mnogo kopija određenog znaka nizu. Funkcija ima sljedeću sintaksu:
    string& append(size_t n,char ch)
    

    Parametar n označava vrijeme kada će znak biti dodan.

    Parametar ch je znak koji se dodaje nizu.

  • 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 ukupni broj kopija za znak.

    Parametar ch je znak koji se kopira u niz.

  • INSERT Funkcija umetanja umeće n kopija znaka na početnu poziciju 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 poziciju od početka gdje će se umetnuti znakovi.

    Parametar n označava ukupni broj kopija za znak.

    Parametar ch je znak koji treba umetnuti u niz.

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

Izlaz:

Pretvaranje znaka u niz

Evo snimke zaslona koda:

Pretvaranje znaka u niz

  1. Uključite iostream datoteku zaglavlja u naš kod da biste koristili njezine funkcije.
  2. Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
  3. Uključite prostor imena std u naš kod da biste koristili njegove klase bez pozivanja.
  4. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  5. Napravite string varijablu imena st.
  6. Dodijelite znak A kraju niza.
  7. Ispišite vrijednost niza st na konzoli uz ostali tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
  8. Postavite vrijednost niza st na prazno.
  9. Dodijelite jedan znak C nizu pod nazivom st.
  10. Ispišite vrijednost niza st na konzoli uz ostali tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
  11. Postavite vrijednost niza st na prazno.
  12. Zamijenite sadržaj niza st jednim znakom D.
  13. Ispišite vrijednost niza st na konzoli uz ostali tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
  14. Umetnite jedan znak E u niz s imenom st iz njegovog prvog indeksa.
  15. Ispišite vrijednost niza st na konzoli uz ostali tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
  16. Program mora vratiti vrijednost nakon uspješnog završetka.
  17. Kraj tijela funkcije main().

#4: Korištenje std::stringstream

Za korištenje ove klase za pretvaranje znaka u niz, umetnite znak u tok.

Bit će zapisani u nizu.

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

Izlaz:

Pretvaranje znaka u niz

Evo snimke zaslona koda:

Pretvaranje znaka u niz

Objašnjenje koda:

  1. Uključite iostream datoteku zaglavlja u naš kod da biste koristili njezine funkcije.
  2. Uključite datoteku zaglavlja niza u naš kod da biste koristili njegove funkcije.
  3. Uključite datoteku zaglavlja sstreama u naš kod da biste koristili njezine funkcije.
  4. Uključite prostor imena std u naš kod da biste koristili njegove klase bez pozivanja.
  5. Pozivanje funkcije main(). Programsku logiku treba dodati unutar tijela ove funkcije.
  6. Napravite string varijablu imena st.
  7. Napravite varijablu toka pod nazivom myst.
  8. Umetnite znak A u objekt toka pod nazivom myst.
  9. Pretvorite objekt toka u niz.
  10. Ispišite vrijednost niza st na konzoli uz ostali tekst. Endl (krajnji redak) pomiče kursor u sljedeći redak.
  11. Program mora vratiti vrijednost nakon uspješnog završetka.
  12. Kraj tijela funkcije main().

Rezime

  • Znak je a C++ tip podataka koji se koristi za pohranjivanje slova.
  • C++ Char je integralni tip podataka, što znači da je vrijednost pohranjena kao cijeli broj.
  • Zauzima memoriju veličine 1 bajta.
  • C++ Char pohranjuje samo jedan znak.
  • Vrijednosti znakova tumače se kao ASCII znakovi.
  • ASCII je akronim za američki standardni kod za razmjenu informacija.
  • Navodi specifičan način predstavljanja engleskih znakova u obliku brojeva.
  • Da bismo vidjeli ASCII vrijednost znaka, prosljeđujemo ga funkciji int().
  • Da bismo vidjeli odgovarajuću vrijednost char ASCII vrijednosti, definiramo ASCII kao znak.