C++ Char andmetüüp koos näidetega

Mis on Char?

Char on a C++ kirjade salvestamiseks mõeldud andmetüüp. Char on tähtnumbrilise märgi lühend. See on terviklik andmetüüp, mis tähendab, et väärtus salvestatakse täisarvuna. Märgi mälumaht on 1 bait. See salvestab ka ühe tähemärgi.

Mis on ASCII?

Chari väärtust tõlgendatakse ASCII märgina. See on sarnane sellele, kuidas Boole'i ​​väärtusi tõlgendatakse tõestena või väära. ASCII on akronüüm sõnadest American Standard Code for Information Interchange. See määratleb konkreetse viisi ingliskeelsete märkide numbritena esitamiseks.

Numbrid jäävad vahemikku 0 kuni 127. Näiteks märk "a" on samaväärne ASCII koodiga 97.

Char deklaratsioon

Kuulutada a char muutuja sisse C++, kasutame märksõna char. Sellele peaks järgnema muutuja nimi. Muutuja saab initsialiseerida deklareerimise ajal. Muutuja väärtus tuleb lisada jutumärkidesse.

Süntaks

Siin on char deklaratsiooni süntaks C++:

char variable-name;

Muutuja-nimi on muutujale omistatav nimi.

Kui deklareerimise ajal tuleb määrata väärtus, saate kasutada järgmist süntaksit:

char variable-name = 'value';	
  • Muutuja nimi on char muutuja nimi.
  • Väärtus on muutujale char omistatav väärtus.

Näide 1:

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

Väljund:

Char deklaratsioon

Siin on koodi ekraanipilt:

Char deklaratsioon

Koodi selgitus:

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostream päisefail.
  2. Std nimeruumi lisamine meie koodi, et kasutada selle klasse ilma seda kutsumata.
  3. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  4. Deklareerige märgimuutuja nimega hinne. Muutujale on määratud ka väärtus B. Pange tähele, et muutuja väärtus on ümbritsetud jutumärkidega.
  5. Printige muutuja hinde väärtus koos muu konsooli tekstiga.
  6. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  7. Funktsiooni main() keha lõpp.

ASCII väärtuse printimine

Nagu eespool öeldud, tõlgendatakse iga märki ASCII märgina. Teil on võimalik saada mis tahes tähemärgi ASCII väärtus. Sa lihtsalt edastad märgi funktsioonile int(). Seda protsessi nimetatakse tüübivalamiseks. Näitame seda:

Näide 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;
}

Väljund:

ASCII väärtuse printimine

Siin on koodi ekraanipilt:

ASCII väärtuse printimine

Koodi selgitus:

  1. Kaasake iostream päisefail meie koodi, et kasutada selle funktsioone.
  2. Std nimeruumi lisamine meie koodi, et kasutada selle klasse ilma seda kutsumata.
  3. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  4. Deklareerida char muutuja nimega ch.
  5. Printige konsoolile teksti. Tekst palub kasutajal sisestada muutuja ch väärtus.
  6. Lugege klaviatuurilt kasutaja sisestust ja salvestage see muutujasse ch.
  7. Printige konsoolile teksti. Tekst sisaldab muutuja ch jaoks sisestatud märki, selle märgi ASCII väärtust ja muud teksti.
  8. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  9. Funktsiooni main() keha lõpp.

Trükimärgi väärtus

Arvestades ASCII väärtust, on C++ kompilaator saab vastava märgi tagastada. Te deklareerite char muutuja ja määrate sellele täisarvu väärtuse. See teisendatakse vastavaks märgi väärtuseks.

Näide 3:

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

Väljund:

Trükimärgi väärtus

Siin on koodi ekraanipilt:

Trükimärgi väärtus

Koodi selgitus:

  1. Kaasa arvatud iostream päisefail koodi. Seejärel kasutame selle funktsioone ilma vigadeta.
  2. Lisage koodi std nimeruum. Kasutame selle klasse ilma helistamata.
  3. Funktsiooni main() kutsumine. Programmi loogika peaks minema selle funktsiooni kehasse.
  4. Deklareerige kolm tähemuutujat x, y ja z. Neile kolmele on määratud täisarvud 65, 66 ja 67. Neid käsitletakse märkide ASCII väärtustena.
  5. Printige konsoolil välja muutuja x väärtus. Kuna x deklareeriti märgina, tagastatakse tähemärk ASCII väärtusega 65, see tähendab A.
  6. Printige konsoolil välja muutuja y väärtus. Kuna y deklareeriti tähemärgina, tagastatakse tähemärk ASCII väärtusega 66, st B.
  7. Printige konsoolil välja muutuja z väärtus. Kuna z deklareeriti märgina, tagastatakse tähemärk ASCII väärtusega 67, see tähendab C.
  8. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  9. Funktsiooni main() keha lõpp.

Tähemärkide sisestamine

Funktsiooni std::cin abil saame lugeda kasutaja poolt klaviatuuri kaudu sisestatud tähemärki. Std::cin võimaldab sisestada palju märke. Kuid märgimuutujas võib olla ainult üks märk. See tähendab, et ainult esimene sisestatud märk ekstraheeritakse ja salvestatakse märgimuutujasse. Ülejäänud osa jääb std::cin kasutatavasse puhvrisse. Selle ekstraktimiseks tehke järgmised kõned aadressile std::cin.

Näide 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;
}

Väljund:

Tähemärkide sisestamine

Siin on koodi ekraanipilt:

Tähemärkide sisestamine

Koodi selgitus:

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostream päisefail.
  2. Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
  3. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  4. Printige konsoolile teksti.
  5. Deklareerida märgimuutuja nimega ch.
  6. Lugege klaviatuurilt kasutaja sisendit. Sisend salvestatakse muutujasse ch. Kuna kasutaja sisestab märgijada nagu abc, salvestatakse muutujasse ch ainult esimene märk a.
  7. Esimese sisestatud märgi, selle ASCII-koodi ja muu teksti trükkimine konsoolil. ASCII-kood määratakse märgimuutuja edastamisega funktsioonile int().
  8. Lugege järgmist märki, mille kasutaja sisestas. Kasutajalt ei pea uut tähemärki sisestama. Selle asemel loeb see teist sisestatud tähemärki, st b.
  9. Teise sisestatud märgi, selle ASCII-koodi ja muu teksti trükkimine konsoolil. ASCII-kood määratakse märgimuutuja edastamisega funktsioonile int().
  10. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  11. Funktsiooni main() keha lõpp.

Tähemärgi teisendamine stringiks

On mitmeid viise, mida saame kasutada märkide teisendamiseks stringid.

Arutame neid:

#1: Stringiklassi antud konstruktori kasutamine

Seda saab teha järgmise süntaksi abil:

string st(int n,char x);

Parameeter n tähistab genereeritava stringi suurust.

Parameeter x on tähemärk, mis teisendatakse stringiks.

Funktsioon tagastab stringi.

Näide 5:

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

Väljund:

Tähemärgi teisendamine stringiks

Siin on koodi ekraanipilt:

Tähemärgi teisendamine stringiks

Koodi selgitus:

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostream päisefail.
  2. Selle funktsioonide kasutamiseks lisage meie koodi stringi päise fail.
  3. Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
  4. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  5. Teisendage täht "C" 1-pikkuseks stringiks ja määrake saadud string muutujale st.
  6. Trüki stringi st väärtus konsoolil koos muu tekstiga.
  7. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  8. Funktsiooni main() keha lõpp.

#2) std::stringi kasutamine Operators = ja +=

Operaatorid = ja += on juba tähemärkidega üle koormatud. Neid kahte saab kasutada konkreetse märgi teisendamiseks stringiks.

Näide 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;
}

Väljund:

Tähemärgi teisendamine stringiks

Siin on koodi ekraanipilt:

Tähemärgi teisendamine stringiks

Koodi selgitus:

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostreami päisefail.
  2. Selle funktsioonide kasutamiseks lisage meie koodi stringi päise fail.
  3. Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
  4. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  5. Looge stringi muutuja nimega st.
  6. Looge tähemärk nimega b väärtusega B.
  7. Määrake stringile nimega st väärtus A.
  8. Märkide stringiks teisendamiseks kasutage operaatorit +=.
  9. Trüki stringi st väärtus konsoolil koos muu tekstiga.
  10. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  11. Funktsiooni main() keha lõpp.

#3: std::string meetodite kasutamine

Klassis std::string on palju ülekoormatud funktsioone, mis aitavad teil tähemärke stringideks teisendada.

Nende hulka kuuluvad:

  • push_back See funktsioon määrab stringi lõppu kindla märgi. See on tähemärkide jaoks ülekoormatud. See võtab järgmise süntaksi:
    void push_back(char ch)
    

    Parameeter ch on märk, mis tuleb muuta stringiks.

  • lisada See määrab stringile palju konkreetse märgi koopiaid. Funktsioon võtab järgmise süntaksi:
    string& append(size_t n,char ch)
    

    Parameeter n tähistab tähe lisamise aegu.

    Parameeter ch on stringile lisatav märk.

  • määrama See funktsioon asendab stringi praeguse sisu määratud märgi n koopiaga. See kasutab järgmist süntaksit:
    string& assign(size_t n,char ch);

    Parameeter n tähistab märgi koopiate koguarvu.

    Parameeter ch on stringi kopeeritav märk.

  • sisestada Sisestamise funktsioon lisab n koopiat tähemärgist stringi alguskohta, nagu argumentides täpsustatud. See võtab järgmise süntaksi:
    string& insert(size_t p,size_t n,char ch);

    Parameeter p tähistab algusest peale kohta, kuhu märgid sisestatakse.

    Parameeter n tähistab märgi koopiate koguarvu.

    Parameeter ch on stringi sisestatav märk.

Näide 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;
}

Väljund:

Tähemärgi teisendamine stringiks

Siin on koodi ekraanipilt:

Tähemärgi teisendamine stringiks

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostreami päisefail.
  2. Selle funktsioonide kasutamiseks lisage meie koodi stringi päise fail.
  3. Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
  4. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  5. Looge stringi muutuja nimega st.
  6. Määrake tähemärk A stringi lõppu.
  7. Trüki stringi st väärtus konsoolil koos muu tekstiga. Endl (lõpprida) viib kursori järgmisele reale.
  8. Määrake stringi st väärtuseks tühi.
  9. Määrake stringile nimega st üks märk C.
  10. Trüki stringi st väärtus konsoolil koos muu tekstiga. Endl (lõpprida) viib kursori järgmisele reale.
  11. Määrake stringi st väärtuseks tühi.
  12. Asenda stringi st sisu ühe märgiga D.
  13. Trüki stringi st väärtus konsoolil koos muu tekstiga. Endl (lõpprida) viib kursori järgmisele reale.
  14. Sisestage üks märk E stringi nimega st selle esimesest indeksist.
  15. Trüki stringi st väärtus konsoolil koos muu tekstiga. Endl (lõpprida) viib kursori järgmisele reale.
  16. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  17. Funktsiooni main() keha lõpp.

#4: std::stringstreami kasutamine

Selle klassi kasutamiseks tähemärgi stringiks teisendamiseks sisestage märk voogu.

Need kirjutatakse stringi.

Näide 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;
}

Väljund:

Tähemärgi teisendamine stringiks

Siin on koodi ekraanipilt:

Tähemärgi teisendamine stringiks

Koodi selgitus:

  1. Selle funktsioonide kasutamiseks lisage meie koodi iostreami päisefail.
  2. Selle funktsioonide kasutamiseks lisage meie koodi stringi päise fail.
  3. Selle funktsioonide kasutamiseks lisage meie koodi voo päisefail.
  4. Lisage meie koodi std nimeruum, et kasutada selle klasse ilma seda kutsumata.
  5. Funktsiooni main() kutsumine. Programmi loogika tuleks lisada selle funktsiooni kehasse.
  6. Looge stringi muutuja nimega st.
  7. Looge voomuutuja nimega myst.
  8. Sisestage märk A vooobjekti nimega myst.
  9. Teisendage vooobjekt stringiks.
  10. Trüki stringi st väärtus konsoolil koos muu tekstiga. Endl (lõpprida) viib kursori järgmisele reale.
  11. Programm peab pärast edukat lõpetamist tagastama väärtuse.
  12. Funktsiooni main() keha lõpp.

kokkuvõte

  • Char on a C++ tähtede salvestamiseks kasutatav andmetüüp.
  • C++ Char on terviklik andmetüüp, mis tähendab, et väärtus salvestatakse täisarvuna.
  • Selle mälumaht on 1 bait.
  • C++ Char salvestab ainult ühe tähemärgi.
  • Char väärtusi tõlgendatakse ASCII-märkidena.
  • ASCII on akronüüm sõnadest American Standard Code for Information Interchange.
  • See kirjeldab konkreetset ingliskeelsete märkide esitamise viisi numbrite kujul.
  • Märgi ASCII väärtuse nägemiseks edastame selle funktsioonile int().
  • ASCII väärtuse vastava tähemärgi väärtuse nägemiseks määratleme ASCII märgina.