Mis on Char?
Char on C ++ andmetüüp, mis on mõeldud tähtede salvestamiseks. Char on tähemärgi lühend. See on lahutamatu andmetüüp, mis tähendab, et väärtus salvestatakse täisarvuna. Märk võtab mälu suuruseks 1 bait. See salvestab ka ühe tähemärgi.
Selles C ++ õpetuses saate teada:
- Mis on Char?
- Mis on ASCII?
- Karmi deklaratsioon
- Süntaks:
- ASCII väärtuse printimine
- Char väärtuse printimine
- Tähemärkide sisestamine
- Märgi teisendamine stringiks
Mis on ASCII?
Char-väärtust tõlgendatakse kui ASCII-märki. See on sarnane sellele, kuidas Boole'i väärtusi tõlgendatakse tõeste või valedena. ASCII on Ameerika teabevahetuse standardkoodi lühend. See määratleb konkreetse viisi ingliskeelsete tähemärkide esitamiseks numbritena.
Numbrid jäävad vahemikku 0–127. Näiteks tähis „a” on samaväärne ASCII koodiga 97.
Karmi deklaratsioon
Char muutuja deklareerimiseks C ++ -s kasutame märksõna char. Sellele peaks järgnema muutuja nimi. Muutuja saab lähtestada deklaratsiooni esitamise ajal. Muutuja väärtus peaks olema ümbritsetud üksikute jutumärkidega.
Süntaks:
Siin on C ++ -s märgistamise süntaks:
char variable-name;
Muutuja-nimi on muutujale omistatav nimi.
Kui deklareerimise ajal tuleb määrata väärtus, võite kasutada seda süntaksit:
char variable-name = 'value';
- Muutuja-nimi on muutuja char nimi.
- Väärtus on väärtus muutujale char.
Näide 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili lisamine meie koodi, et selle funktsioone kasutada.
- Std nimeruumi kaasamine meie koodi, et kasutada selle klasse seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Deklareerige tähemuutuja nimega hinne. Muutujale on määratud ka väärtus B. Pange tähele, et muutuja väärtus on ümbritsetud üksikute jutumärkidega.
- Trükkige muutuja hinne väärtus konsooli muu teksti kõrvale.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
ASCII väärtuse printimine
Nagu eespool öeldud, tõlgendatakse iga tähemärki kui ASCII tähemärki. Teil on võimalik saada mis tahes märgi ASCII väärtus. Lihtsalt edastate märgi funktsioonile int (). Seda protsessi nimetatakse tüübivaluks. Demonstreerime seda:
Näide 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;} Väljund:
![]()
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili lisamine meie koodi, et selle funktsioone kasutada.
- Std nimeruumi kaasamine meie koodi, et kasutada selle klasse seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Deklareerige muutuja nimega ch.
- Printige konsoolile tekst. Tekst palub kasutajal sisestada muutujale ch väärtus.
- Lugege kasutaja sisend klaviatuurilt ja salvestage see muutujasse ch.
- Printige konsoolile tekst. Tekst sisaldab muutuja ch jaoks sisestatud märki, selle märgi ASCII väärtust ja muud teksti.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
Char väärtuse printimine
ASCII väärtuse korral võib C ++ kompilaator vastava märgi tagastada. Deklareerite muutuja char ja määrate sellele täisarvu. See teisendatakse vastavaks tähemärgi väärtuseks.
Näide 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili lisamine koodi. Seejärel kasutame selle funktsioone vigu saamata.
- Kaasa standardne nimeruum koodi. Kasutame selle tunde ilma seda nimetamata.
- Funktsiooni main () kutsumine. Programmi loogika peaks minema selle funktsiooni kehasse.
- Deklareerige kolm sümboli muutujat x, y ja z. Neile kolmele on määratud täisarvud 65, 66 ja 67. Neid käsitletakse märkide ASCII-väärtustena.
- Trükkige konsoolil muutuja x väärtus. Kuna x deklareeriti söena, tagastatakse söe ASCII väärtusega 65, see tähendab A.
- Trükkige konsoolil muutuja y väärtus. Kuna y deklareeriti söena, tagastatakse sö, mille ASCII väärtus on 66, see tähendab B.
- Trükkige konsoolil muutuja z väärtus. Kuna z deklareeriti söena, tagastatakse söe ASCII väärtusega 67, see tähendab C.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
Tähemärkide sisestamine
Funktsiooni std :: cin abil saame lugeda klaviatuuri kaudu kasutaja sisestatud tähemärki. Std :: cin võimaldab sisestada palju märke. Märgimuutuja mahutab aga ainult ühe märgi. See tähendab, et ainult esimene sisestatud märk eraldatakse ja salvestatakse tähemuutujasse. Ülejäänud jäävad puhvrisse, mida std :: cin kasutab. Selle väljavõtmiseks helistage järgnevalt saidile std :: cin.
Näide 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;} Väljund:
![]()
Siin on ekraanipilt koodist:
![]()
Koodi selgitus:
- Iostreami päisefaili lisamine meie koodi, et selle funktsioone kasutada.
- Kaasake standardnimeruum meie koodi, et kasutada selle klasse ilma seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Printige konsoolile tekst.
- Deklareerige tähemuutuja nimega ch.
- Kasutaja sisendi lugemine klaviatuurilt. Sisend salvestatakse muutujasse ch. Kuna kasutaja sisestab tähemärkide järjestuse nagu abc, salvestatakse muutujasse ch ainult esimene märk a.
- Esimese sisestatud märgi, selle ASCII-koodi ja muu teksti printimine konsoolile. ASCII kood määratakse märkimuutuja edastamise abil funktsioonile int ().
- Lugege järgmist märki, mille kasutaja sisestas. Kasutajal ei nõuta uue märgi sisestamist. Selle asemel loeb see teist sisestatud märki, st b.
- Teise sisestatud tähemärgi, selle ASCII-koodi ja muu teksti printimine konsoolile. ASCII kood määratakse märkimuutuja edastamise abil funktsioonile int ().
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
Märgi teisendamine stringiks
Märke stringideks teisendamiseks on mitmeid viise.
Arutame neid:
# 1: Stringklassi antud konstruktori kasutamine
Seda saab teha järgmise süntaksiga:
string st(int n,char x);Parameeter n tähistab genereeritava stringi suurust.
Parameeter x on stringiks teisendatav märk.
Funktsioon tagastab stringi.
Näide 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Iostreami päisefaili lisamine meie koodi, et selle funktsioone kasutada.
- Lisage stringi päisefail meie koodi, et selle funktsioone kasutada.
- Kaasake standardnimeruum meie koodi, et kasutada selle klasse ilma seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Teisendage märk "C" ühepikkuseks stringiks ja määrake saadud string muutujale st.
- Printige konsoolile stringi str väärtus muu teksti kõrvale.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
# 2) Kasutades std :: string Operators = ja + =
Operaatorid = ja + = on juba märkidega üle koormatud. Neid kahte saab kasutada konkreetse märgi stringiks teisendamiseks.
Näide 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;} Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Lisage iostreami päisefail meie koodi, et selle funktsioone kasutada.
- Lisage stringi päisefail meie koodi, et selle funktsioone kasutada.
- Kaasake standardnimeruum meie koodi, et kasutada selle klasse ilma seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Looge stringimuutuja nimega st.
- Looge märk nimega b väärtusega B
- Määrake stringile nimega A väärtus.
- Märkide stringideks teisendamiseks kasutage operaatorit + =.
- Printige konsoolile stringi str väärtus muu teksti kõrvale.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
# 3: std :: string-meetodite kasutamine
Klassiga std :: string on kaasas palju ülekoormatud funktsioone, mis aitavad tähemärki stringideks teisendada.
Nad sisaldavad:
- lükka tagasi
See funktsioon määrab stringi lõpule konkreetse märgi. See on märkide jaoks ülekoormatud.
Selleks on vaja järgmist süntaksit:
void push_back(char ch)Parameeter ch on märk, mis muudetakse stringiks.
- lisama
See määrab stringile palju konkreetse märgi koopiaid.
Funktsioonil on järgmine süntaks:
string& append(size_t n,char ch)Parameeter n tähistab märgi lisamise aegu.
Parameeter ch on stringile lisatav märk.
- määrama
See funktsioon asendab stringi praeguse sisu määratud tähemärgi n koopiaga.
Selleks on vaja järgmist süntaksit:
string& assign(size_t n,char ch);Parameeter n tähistab märgi koopiate koguarvu.
Parameeter ch on stringisse kopeeritav märk.
- sisestada
Funktsioon Insert lisab stringi alguspunkti tähemärgist n koopiat, nagu argumentides täpsustatud.
Selleks on vaja järgmist süntaksit:
string& insert(size_t p,size_t n,char ch);Parameeter p tähistab positsiooni algusest peale, kuhu märgid sisestatakse.
Parameeter n tähistab märgi koopiate koguarvu.
Parameeter ch on stringisse lisatav märk.
Näide 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;} Väljund:
Siin on ekraanipilt koodist:
- Lisage iostreami päisefail meie koodi, et selle funktsioone kasutada.
- Lisage stringi päisefail meie koodi, et selle funktsioone kasutada.
- Kaasake standardnimeruum meie koodi, et kasutada selle klasse ilma seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Looge stringimuutuja nimega st.
- Määrake stringi lõppu märk A.
- Printige konsoolile stringi str väärtus muu teksti kõrvale. Endl (lõpurida) viib kursori järgmisele reale.
- Määrake stringi st väärtus tühjaks.
- Määra stringile nimega üks märk C.
- Printige konsoolile stringi str väärtus muu teksti kõrvale. Endl (lõpurida) viib kursori järgmisele reale.
- Määrake stringi st väärtus tühjaks.
- Asenda stringi st sisu ühe tähemärgiga D.
- Printige konsoolile stringi str väärtus muu teksti kõrvale. Endl (lõpurida) viib kursori järgmisele reale.
- Sisestage üks märk E stringi nimega string tema esimesest registrist.
- Printige konsoolile stringi str väärtus muu teksti kõrvale. Endl (lõpurida) viib kursori järgmisele reale.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
# 4: std :: stringstream kasutamine
Selle klassi kasutamiseks tähemärgi stringiks teisendamiseks sisestage märk voosse.
Need kirjutatakse stringi.
Näide 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;} Väljund:
Siin on ekraanipilt koodist:
Koodi selgitus:
- Lisage iostreami päisefail meie koodi, et selle funktsioone kasutada.
- Lisage stringi päisefail meie koodi, et selle funktsioone kasutada.
- Kaasake voo päisefail meie koodi, et selle funktsioone kasutada.
- Kaasake standardnimeruum meie koodi, et kasutada selle klasse ilma seda kutsumata.
- Funktsiooni main () kutsumine. Selle funktsiooni kehasse tuleks lisada programmiloogika.
- Looge stringimuutuja nimega st.
- Looge voo muutuja nimega myst.
- Sisestage märk A vooobjekti nimega myst.
- Teisendage vooobjekt stringiks.
- Printige konsoolile stringi str väärtus muu teksti kõrvale. Endl (lõpurida) viib kursori järgmisele reale.
- Eduka lõpetamise korral peab programm tagastama väärtuse.
- Põhifunktsiooni () keha lõpp.
Kokkuvõte:
- Char on C ++ andmetüüp, mida kasutatakse tähtede salvestamiseks.
- C ++ Char on lahutamatu andmetüüp, mis tähendab, et väärtus salvestatakse täisarvuna.
- See võtab mälumahuks 1 baiti.
- C ++ Char salvestab ainult ühe märgi.
- Char-väärtusi tõlgendatakse kui ASCII-märke.
- ASCII on Ameerika teabevahetuse standardkoodi lühend.
- See sätestab konkreetse viisi ingliskeelsete tähemärkide esitamiseks numbritena.
- Märgi ASCII väärtuse nägemiseks edastame selle funktsioonile int ().
- ASCII väärtuse vastava char-väärtuse nägemiseks määratleme ASCII märgina.