C++ Char-tietotyyppi esimerkkien kanssa
⚡ Älykäs yhteenveto
Char-tietotyyppi kohdassa C++ tallentaa yksittäisen merkin, kuten kirjaimen tai numeron, käyttämällä sen ASCII-arvoa. Tässä opit määrittelemään merkkejä, tulostamaan ASCII-arvoja, syöttämään merkkejä ja muuntamaan merkin merkkijonoksi.
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 samanlaista kuin totuusarvojen tulkitseminen tosiksi tai epätosiksi. ASCII on lyhenne sanoista American Standard. Code tiedonvaihtoa varten. 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:
Code 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:
Code 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:
Code 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 lukemaan käyttäjän näppäimistöllä syöttämän merkin. std::cin-funktion avulla voit syöttää useita merkkejä. Merkkimuuttuja voi kuitenkin sisältää vain yhden merkin. Tämä tarkoittaa, että vain ensimmäinen syötetty merkki otetaan käyttöön.tracja tallennetaan merkkimuuttujaan. Loput jäävät std::cin:n käyttämään puskuriin. Esim.tract sitä, tee seuraavat kutsut std::cin-muuttujaan.
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:
Code 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:
Code 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:
Code 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:
Code 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.










