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.

Saลพmite ovu objavu uz: