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

⚡ Nutikas kokkuvõte

Char-andmetüüp C++ salvestab ühe märgi, näiteks tähe või numbri, selle ASCII-väärtuse abil. Siin õpid märkide deklareerimist, ASCII-väärtuste printimist, märkide sisestamist ja märgi stringiks teisendamist.

  • 🔤 Mis see on: Char salvestab ühe tähemärgi, kasutades selle ASCII-väärtust.
  • 🔢 ASCII: Iga märk vastab numbrilisele ASCII-koodile, näiteks 'A' on 65.
  • 🔧 Deklaratsioon: Deklareeri märk ülakomadega, näiteks char grade = 'A';.
  • 🔁 Tulemus: Teisenda char ASCII väärtuse saamiseks täisarvuks ja tagasi.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad, näiteks GitHub Copilot, käsitlevad char- ja ASCII-koodi koheselt.

C++ Char andmetüüp

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?

Char-väärtust tõlgendatakse ASCII-märgina. See sarnaneb Boole'i ​​väärtuste tõlgendamisega tõeseks või vääraks. ASCII on lühend sõnadest American Standard. Code infovahetuse jaoks. See määratleb spetsiifilise viisi ingliskeelsete tähtede 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

Code 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

Code 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

Code 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

Kasutaja poolt klaviatuurilt sisestatud tähemärgi lugemiseks saame kasutada funktsiooni std::cin. Funktsiooni std::cin abil saate sisestada mitu tähemärki. Märkimuutuja saab aga sisaldada ainult ühte tähemärki. See tähendab, et ainult esimest sisestatud tähemärki kasutatakse.tracja salvestatakse märgimuutujasse. Ülejäänu jääb std::cin poolt kasutatavasse puhvrisse. NäitekstracSelle parandamiseks tehke järgnevad kõned std::cin-ile.

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

Code 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

Code 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

Code 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

Code 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.

KKK

Char on andmetüüp, mis salvestab ühe märgi, näiteks tähe, numbri või sümboli. See hõivab ühe baidi ja hoiab sisemiselt märgi ASCII-väärtust.

ASCII on standard, mis teisendab tähemärgid numbriteks vahemikus 0 kuni 127. C++, iga märk salvestab oma ASCII-koodi, seega 'A' on 65 ja 'a' on 97.

Deklareerige märk märksõna „char“ ja ühe ülakomade vahel oleva märgi abil, näiteks „char grade = 'A';“. Ülakomad on kohustuslikud, mitte ülakomad.

Teisenda märk täisarvuks, näiteks int(ch) või (int)ch, ja prindi see välja. See kuvab märgi enda asemel numbrilise ASCII-koodi.

Kasutage cin-i koos ex-igatraction-operaator üksiku märgi, näiteks cin, millele järgneb ch, lugemiseks. See salvestab kasutaja sisestatud järgmise tühikuvälise märgi.

Saate määrata tähemärgi std::stringile, kasutada stringi konstruktorit või selle lisada, näiteks std::string s(1, ch);, et luua ühemärgiline string.

Tehisintellekti assistendid, näiteks GitHub Copilot, teisendavad märke ASCII-ks, kirjutavad märgisisestustsükleid ja pakuvad tippimise ajal parandusi levinud märke- ja stringivigade kohta.

Jah. Tehisintellektil põhinevad tööriistad genereerivad ASCII ja suur- ja väiketähtede teisendamise koodi, käsitlevad tähemärkide teisendamist stringideks ja märgistavad vigu, näiteks ühe tähemärgi puhul jutumärkide kasutamist.

Võta see postitus kokku järgmiselt: