C++ Char-tietotyyppi esimerkkien kanssa
Mikä on Char?
Char on a C++ tietotyyppi, joka on suunniteltu kirjainten tallentamiseen. Char on aakkosnumeerisen merkin lyhenne. Se on integraalinen tietotyyppi, mikä tarkoittaa, että arvo tallennetaan kokonaislukuna. Merkki vie muistin koon 1 tavu. Se tallentaa myös yhden merkin.
Mikä on ASCII?
Char-arvo tulkitaan ASCII-merkiksi. Tämä on samanlainen kuin se, miten Boolen arvot tulkitaan todeksi tai epätosi. ASCII on lyhenne sanoista American Standard Code for Information Interchange. Se määrittelee tietyn tavan esittää englanninkielisiä merkkejä numeroina.
Numerot vaihtelevat välillä 0 - 127. Esimerkiksi merkki "a" vastaa ASCII-koodia 97.
Char julistus
Ilmoittaa a char muuttuja sisään C++, käytämme avainsanaa char. Tämän jälkeen tulee olla muuttujan nimi. Muuttuja voidaan alustaa ilmoitushetkellä. Muuttujan arvo tulee sulkea lainausmerkkien sisällä.
Syntaksi
Tässä on syntaksi char-ilmoitukselle C++:
char variable-name;
Muuttujan nimi on muuttujalle annettava nimi.
Jos arvo määritetään ilmoitushetkellä, voit käyttää tätä syntaksia:
char variable-name = 'value';
- Muuttujan nimi on char-muuttujan nimi.
- Arvo on char-muuttujalle annettava arvo.
Esimerkki 1:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- std-nimiavaruuden sisällyttäminen koodiimme, jotta sen luokkia voidaan käyttää kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Ilmoita merkkimuuttuja nimeltä arvosana. Muuttujalle on myös annettu arvo B. Huomaa, että muuttujan arvo on lainausmerkkien sisällä.
- Tulosta muuttujan arvosanan arvo muun tekstin rinnalle konsoliin.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
ASCII-arvon tulostaminen
Kuten edellä mainittiin, jokainen merkki tulkitaan ASCII-merkiksi. Voit saada minkä tahansa merkin ASCII-arvon. Sinun tarvitsee vain siirtää merkki int()-funktiolle. Tätä prosessia kutsutaan tyyppivaluksi. Osoitetaan tämä:
Esimerkki 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; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme sen toimintojen käyttämiseksi.
- std-nimiavaruuden sisällyttäminen koodiimme, jotta sen luokkia voidaan käyttää kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Ilmoita char-muuttuja nimeltä ch.
- Tulosta tekstiä konsoliin. Teksti pyytää käyttäjää syöttämään arvon muuttujalle ch.
- Lue käyttäjän syöte näppäimistöltä ja tallenna se muuttujaan ch.
- Tulosta tekstiä konsoliin. Teksti sisältää muuttujalle ch syöttämäsi merkin, tämän merkin ASCII-arvon ja muuta tekstiä.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
Merkin arvon tulostaminen
Kun ASCII-arvo on annettu, C++ kääntäjä voi palauttaa vastaavan merkin. Ilmoitat char-muuttujan ja annat sille kokonaislukuarvon. Se muunnetaan vastaavaksi merkkiarvoksi.
Esimerkki 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisältää iostream-otsikkotiedoston koodiin. Sitten käytämme sen toimintoja ilman virheitä.
- Sisällytä std-nimiavaruus koodiin. Käytämme sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikan pitäisi mennä tämän funktion runkoon.
- Ilmoita kolme char-muuttujaa x, y ja z. Näille kolmelle on annettu kokonaislukuarvot 65, 66 ja 67. Näitä käsitellään ASCII-arvoina merkeille.
- Tulosta muuttujan x arvo konsolista. Koska x on ilmoitettu merkiksi, palautetaan merkki, jonka ASCII-arvo on 65, eli A.
- Tulosta muuttujan y arvo konsolista. Koska y ilmoitettiin merkiksi, palautetaan merkki, jonka ASCII-arvo on 66, eli B.
- Tulosta muuttujan z arvo konsolista. Koska z on ilmoitettu merkiksi, palautetaan merkki, jonka ASCII-arvo on 67, eli C.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
Merkkien syöttäminen
Voimme käyttää std::cin-funktiota käyttäjän näppäimistön kautta syöttämän merkin lukemiseen. Std::cin avulla voit syöttää useita merkkejä. Merkkimuuttuja voi kuitenkin sisältää vain yhden merkin. Tämä tarkoittaa, että vain ensimmäinen syötetty merkki puretaan ja tallennetaan merkkimuuttujaan. Loput jäävät puskuriin, jota std::cin käyttää. Pura se soittamalla seuraavat kutsut std::ciniin.
Esimerkki 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; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä std-nimiavaruus koodiimme käyttääksesi sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Tulosta tekstiä konsoliin.
- Ilmoita merkkimuuttuja nimeltä ch.
- Lue käyttäjän syöte näppäimistöltä. Tulo tallennetaan muuttujaan ch. Koska käyttäjä kirjoittaa merkkijonon, kuten abc, vain ensimmäinen merkki, a, tallennetaan muuttujaan ch.
- Ensimmäisen syötetyn merkin, sen ASCII-koodin ja muun tekstin tulostaminen konsoliin. ASCII-koodi määritetään välittämällä merkkimuuttuja int()-funktiolle.
- Lue seuraava käyttäjän kirjoittama merkki. Käyttäjän ei tarvitse syöttää uutta merkkiä. Sen sijaan se lukee toisen syötetyn merkin, eli b.
- Tulostetaan toinen syötetty merkki, sen ASCII-koodi ja muu teksti konsoliin. ASCII-koodi määritetään välittämällä merkkimuuttuja int()-funktiolle.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
Muunnetaan merkki merkkijonoksi
On olemassa useita tapoja, joilla voimme muuntaa merkkejä jouset.
Keskustellaan niistä:
#1: Käytä merkkijonoluokan antamaa konstruktoria
Tämä voidaan tehdä käyttämällä seuraavaa syntaksia:
string st(int n,char x);
Parametri n ilmaisee generoitavan merkkijonon koon.
Parametri x on merkki, joka muunnetaan merkkijonoksi.
Funktio palauttaa merkkijonon.
Esimerkki 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä merkkijonootsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä std-nimiavaruus koodiimme käyttääksesi sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Muunna merkki "C" 1-pituiseksi merkkijonoksi ja liitä tuloksena oleva merkkijono muuttujaan st.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
#2) Käyttämällä std::stringiä Operatorit = ja +=
Operaattorit = ja += ovat jo ylikuormitettuja merkeillä. Näitä kahta voidaan käyttää muuntamaan tietty merkki merkkijonoksi.
Esimerkki 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; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä merkkijonootsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä std-nimiavaruus koodiimme käyttääksesi sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Luo merkkijonomuuttuja nimeltä st.
- Luo merkki nimeltä b, jonka arvo on B.
- Anna A:n arvo merkkijonolle nimeltä st.
- Käytä +=-operaattoria muuntaaksesi merkit merkkijonoksi.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
#3: Std::string-menetelmien käyttäminen
Std::string-luokassa on monia ylikuormitettuja toimintoja, jotka voivat auttaa sinua muuttamaan merkit merkkijonoiksi.
Niihin kuuluvat:
- työnnä takaisin Tämä toiminto määrittää tietyn merkin merkkijonon loppuun. Se on ylikuormitettu merkeille.Se käyttää seuraavan syntaksin:
void push_back(char ch)
Parametri ch on merkki, joka muutetaan merkkijonoksi.
- liittää Se määrittää useita kopioita tietystä merkistä merkkijonoon. Funktio käyttää seuraavan syntaksin:
string& append(size_t n,char ch)
Parametri n ilmaisee aikoja, jolloin merkki lisätään.
Parametri ch on merkki, joka liitetään merkkijonoon.
- luovuttaa Tämä toiminto korvaa merkkijonon nykyisen sisällön n kopiolla määritetystä merkistä. Se käyttää seuraavan syntaksin:
string& assign(size_t n,char ch);
Parametri n ilmaisee merkin kopioiden kokonaismäärän.
Parametri ch on merkkijonoon kopioitava merkki.
- lisätä Lisäystoiminto lisää n kopiota merkistä merkkijonon alkukohtaan argumenttien mukaisesti. Se vaatii seuraavan syntaksin:
string& insert(size_t p,size_t n,char ch);
Parametri p ilmaisee sijainnin alusta, johon merkit lisätään.
Parametri n ilmaisee merkin kopioiden kokonaismäärän.
Parametri ch on merkkijonoon lisättävä merkki.
Esimerkki 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; }
lähtö:
Tässä on kuvakaappaus koodista:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä merkkijonootsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä std-nimiavaruus koodiimme käyttääksesi sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Luo merkkijonomuuttuja nimeltä st.
- Määritä merkki A merkkijonon loppuun.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen. Endl (loppurivi) siirtää kohdistimen seuraavalle riville.
- Aseta merkkijonon st arvo tyhjäksi.
- Määritä yksi merkki C merkkijonoon nimeltä st.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen. Endl (loppurivi) siirtää kohdistimen seuraavalle riville.
- Aseta merkkijonon st arvo tyhjäksi.
- Korvaa merkkijonon st sisältö yhdellä merkillä D.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen. Endl (loppurivi) siirtää kohdistimen seuraavalle riville.
- Lisää yksi merkki E merkkijonoon, jonka nimi on st sen ensimmäisestä indeksistä.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen. Endl (loppurivi) siirtää kohdistimen seuraavalle riville.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
#4: std::stringstreamin käyttäminen
Jos haluat käyttää tätä luokkaa merkin muuntamiseen merkkijonoksi, lisää merkki streamiin.
Ne kirjoitetaan merkkijonoon.
Esimerkki 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; }
lähtö:
Tässä on kuvakaappaus koodista:
Koodin selitys:
- Sisällytä iostream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä merkkijonootsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä stream-otsikkotiedosto koodiimme käyttääksesi sen toimintoja.
- Sisällytä std-nimiavaruus koodiimme käyttääksesi sen luokkia kutsumatta sitä.
- Main()-funktion kutsuminen. Ohjelmalogiikka tulisi lisätä tämän funktion runkoon.
- Luo merkkijonomuuttuja nimeltä st.
- Luo stream-muuttuja nimeltä myst.
- Lisää merkki A virtaobjektiin nimeltä myst.
- Muunna stream-objekti merkkijonoksi.
- Tulosta merkkijonon st arvo konsoliin muun tekstin viereen. Endl (loppurivi) siirtää kohdistimen seuraavalle riville.
- Ohjelman on palautettava arvo, kun se on suoritettu onnistuneesti.
- Main()-funktion rungon loppu.
Yhteenveto
- Char on a C++ kirjainten tallentamiseen käytetty tietotyyppi.
- C++ Char on integraalinen tietotyyppi, mikä tarkoittaa, että arvo tallennetaan kokonaislukuna.
- Se vie muistin koon 1 tavu.
- C++ Char tallentaa vain yhden merkin.
- Char-arvot tulkitaan ASCII-merkeiksi.
- ASCII on lyhenne sanoista American Standard Code for Information Interchange.
- Se ilmaisee tietyn tavan esittää englanninkielisiä merkkejä numeroiden muodossa.
- Jos haluat nähdä merkin ASCII-arvon, välitämme sen int()-funktiolle.
- Jos haluat nähdä ASCII-arvon vastaavan char-arvon, määritämme ASCII:n merkiksi.