Char nedir?
Char, harflerin depolanması için tasarlanmış bir C ++ veri türüdür. Char, bir karakterin kısaltmasıdır. Bu, integral bir veri türüdür, yani değer bir tamsayı olarak saklanır. Bir karakter, 1 baytlık bir hafıza boyutunu alır. Aynı zamanda tek bir karakter saklar.
Bu C ++ eğitiminde şunları öğreneceksiniz:
- Char nedir?
- ASCII nedir?
- Char Beyanı
- Sözdizimi:
- ASCII Değerini Yazdırma
- Karakter Değeri Yazdırılıyor
- Karakter Girme
- Karakteri Dizeye Dönüştürme
ASCII nedir?
Char değeri bir ASCII karakteri olarak yorumlanır. Bu, Boole değerlerinin doğru veya yanlış olarak yorumlanma şekline benzer. ASCII, American Standard Code for Information Interchange'in kısaltmasıdır. İngilizce karakterleri sayı olarak temsil etmenin belirli bir yolunu tanımlar.
Sayılar 0 ile 127 arasındadır. Örneğin, 'a' karakteri ASCII 97 koduna eşdeğerdir.
Char Beyanı
C ++ 'da bir char değişkeni bildirmek için, char anahtar sözcüğünü kullanıyoruz. Bunu değişkenin adı takip etmelidir. Değişken, bildirim sırasında başlatılabilir. Değişkenin değeri tek tırnak içine alınmalıdır.
Sözdizimi:
C ++ 'da char bildirimi için sözdizimi şöyledir:
char variable-name;
Değişken-adı, değişkene atanacak addır.
Bildirim sırasında bir değer atanacaksa, bu sözdizimini kullanabilirsiniz:
char variable-name = 'value';
- Değişken-adı, char değişkeninin adıdır.
- Değer, char değişkenine atanacak değerdir.
Örnek 1:
#includeusing namespace std;int main() {char grade = 'B';cout << "I scored a: "< Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için kodumuza iostream başlık dosyasını dahil etmek.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil etmek.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- Grade adında bir karakter değişkeni bildirin. Değişkene ayrıca bir B değeri atanmıştır. Değişkenin değerinin tek tırnak içine alındığına dikkat edin.
- Değişken notunun değerini konsoldaki diğer metinlerle birlikte yazdırın.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
ASCII Değerini Yazdırma
Yukarıda belirtildiği gibi, her karakter ASCII karakteri olarak yorumlanır. Herhangi bir karakterin ASCII değerini almanız mümkündür. Karakteri int () işlevine aktarmanız yeterlidir. Bu işleme tip döküm denir. Bunu gösterelim:
Örnek 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;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil etmek.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil etmek.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- Ch adlı bir char değişkeni bildirin.
- Konsolda biraz metin yazdırın. Metin, kullanıcıdan ch değişkeni için bir değer girmesini ister.
- Kullanıcı girişini klavyeden okuyun ve değişken ch içinde saklayın.
- Konsolda biraz metin yazdırın. Metin, ch değişkeni için girdiğiniz karakteri, bu karakterin ASCII değerini ve diğer metni içerecektir.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Karakter Değeri Yazdırılıyor
Bir ASCII değeri verildiğinde, C ++ derleyicisi karşılık gelen karakteri döndürebilir. Bir char değişkeni bildirir ve ona bir tamsayı değeri atarsınız. Karşılık gelen karakter değerine dönüştürülecektir.
Örnek 3:
#includeusing namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Iostream başlık dosyasını koda dahil etme. Daha sonra işlevlerini hata almadan kullanacağız.
- Std ad alanını koda dahil edin. Sınıflarını aramadan kullanacağız.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine girmelidir.
- Üç karakterli x, y ve z değişkenini bildirin. Üçüne 65, 66 ve 67 tamsayı değerleri atanmıştır. Bunlar, karakterler için ASCII değerleri olarak değerlendirilecektir.
- Konsolda x değişkeninin değerini yazdırın. X bir karakter olarak bildirildiğinden, ASCII değeri 65 olan karakter, yani A döndürülür.
- Konsolda y değişkeninin değerini yazdırın. Y bir karakter olarak bildirildiğinden, ASCII değeri 66 olan karakter, yani B döndürülür.
- Konsolda z değişkeninin değerini yazdırın. Z bir karakter olarak bildirildiğinden, ASCII değeri 67 olan karakter, yani C döndürülür.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Karakter Girme
Kullanıcı tarafından klavye aracılığıyla girilen bir karakteri okumak için std :: cin işlevini kullanabiliriz. Std :: cin birçok karakter girmenize izin verecektir. Bununla birlikte, karakter değişkeni yalnızca bir karakter tutabilir. Bu, yalnızca girilen ilk karakterin çıkarılacağı ve karakter değişkeninde saklanacağı anlamına gelir. Geri kalanı std :: cin tarafından kullanılan arabellekte kalacaktır. Ayıklamak için, std :: cin'e sonraki çağrıları yapın.
Örnek 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;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için kodumuza iostream başlık dosyasını dahil etmek.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- Konsolda biraz metin yazdırın.
- Ch adlı bir karakter değişkeni bildirin.
- Klavyeden kullanıcı girişini okuyun. Giriş, ch değişkeninde saklanacaktır. Bir kullanıcı abc gibi bir karakter dizisi yazacağından, sadece ilk karakter olan a, ch değişkeninde saklanacaktır.
- Girilen ilk karakteri, ASCII kodunu ve konsol üzerindeki diğer metni yazdırma. ASCII kodu, karakter değişkeninin int () işlevine iletilmesiyle belirlenir.
- Kullanıcı tarafından girilen sonraki karakteri okuyun. Kullanıcının yeni bir karakter girmesi gerekmeyecektir. Bunun yerine girilen ikinci karakteri, yani b'yi okuyacaktır.
- Girilen ikinci karakteri, ASCII kodunu ve konsol üzerindeki diğer metni yazdırma. ASCII kodu, karakter değişkeninin int () işlevine iletilmesiyle belirlenir.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Karakteri Dizeye Dönüştürme
Karakterleri dizelere dönüştürmek için kullanabileceğimiz birçok yol vardır.
Onları tartışalım:
# 1: Bir String Sınıfı Tarafından Verilen Yapıcıyı Kullanma
Bu, aşağıdaki sözdizimi kullanılarak yapılabilir:
string st(int n,char x);N parametresi, oluşturulacak dizgenin boyutunu belirtir.
X parametresi, bir dizeye dönüştürülecek karakterdir.
İşlev bir dizge döndürür.
Örnek 5:
#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için kodumuza iostream başlık dosyasını dahil etmek.
- İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- "C" karakterini 1 uzunluklu bir dizeye dönüştürün ve elde edilen dizeyi st değişkenine atayın.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
# 2) std :: string Operatörlerini kullanma = ve + =
= Ve + = operatörleri zaten karakterlerle aşırı yüklenmiş durumda. İkisi, belirli bir karakteri bir dizeye dönüştürmek için kullanılabilir.
Örnek 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;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- B değerine sahip b adlı bir karakter oluşturun.
- St adlı dizeye bir A değeri atayın.
- Karakterleri bir dizeye dönüştürmek için + = operatörünü kullanın.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
# 3: std :: string Yöntemlerini Kullanma
Std :: string sınıfı, karakterleri dizelere dönüştürmenize yardımcı olabilecek birçok aşırı yüklenmiş işlevle birlikte gelir.
Onlar içerir:
- Geri itmek
Bu işlev, bir dizgenin sonuna belirli bir karakter atar. Karakterler için aşırı yüklenmiş.
Aşağıdaki sözdizimini alır:
void push_back(char ch)Ch parametresi, bir dizge olarak değiştirilecek karakterdir.
- eklemek
Belirli bir karakterin birçok kopyasını bir dizeye atar.
İşlev aşağıdaki sözdizimini alır:
string& append(size_t n,char ch)N parametresi, karakterin ekleneceği zamanları belirtir.
Ch parametresi, dizeye eklenecek karakterdir.
- atamak
Bu işlev, dizenin mevcut içeriğini, belirtilen karakterin n kopyasıyla değiştirir.
Aşağıdaki sözdizimini alır:
string& assign(size_t n,char ch);N parametresi, karakterin toplam kopyalarını belirtir.
Ch parametresi, dizeye kopyalanacak karakterdir.
- eklemek
İnsert işlevi, argümanlarda belirtildiği gibi, dizenin başlangıç konumuna bir karakterin n kopyasını ekler.
Aşağıdaki sözdizimini alır:
string& insert(size_t p,size_t n,char ch);P parametresi, karakterlerin ekleneceği başlangıçtan itibaren konumu belirtir.
N parametresi, karakterin toplam kopyalarını belirtir.
Ch parametresi, dizeye eklenecek karakterdir.
Örnek 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;} Çıktı:
İşte kodun bir ekran görüntüsü:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- Dizenin sonuna A karakterini atayın.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın. Endl (bitiş çizgisi), imleci bir sonraki satıra taşır.
- St dizesinin değerini boş olarak ayarlayın.
- St adlı dizeye tek bir C karakteri atayın.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın. Endl (bitiş çizgisi), imleci bir sonraki satıra taşır.
- St dizesinin değerini boş olarak ayarlayın.
- St dizesinin içeriğini tek karakter D ile değiştirin.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın. Endl (bitiş çizgisi), imleci bir sonraki satıra taşır.
- İlk dizininden st adlı dizeye tek bir E karakteri ekleyin.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın. Endl (bitiş çizgisi), imleci bir sonraki satıra taşır.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
# 4: std :: stringstream kullanma
Bu sınıfı karakteri bir dizeye dönüştürmek üzere kullanmak için, karakteri akışa ekleyin.
Dizeye yazılacaklar.
Örnek 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;} Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
- İşlevlerini kullanmak için sstream başlık dosyasını kodumuza dahil edin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza dahil edin.
- Main () işlevi çağırılıyor. Program mantığı bu işlevin gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- Myst adlı bir akış değişkeni oluşturun.
- A karakterini myst adlı akış nesnesine ekleyin.
- Akış nesnesini bir dizeye dönüştürün.
- Diğer metinle birlikte konsoldaki st dizesinin değerini yazdırın. Endl (bitiş çizgisi), imleci bir sonraki satıra taşır.
- Program başarılı bir şekilde tamamlandığında değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Özet:
- Karakter, harflerin depolanması için kullanılan bir C ++ veri türüdür.
- C ++ Char, tümleşik bir veri türüdür, yani değer bir tam sayı olarak saklanır.
- 1 baytlık bir hafıza boyutunu kaplar.
- C ++ Char yalnızca tek bir karakter depolar.
- Karakter değerleri ASCII karakterleri olarak yorumlanır.
- ASCII, American Standard Code for Information Interchange'in kısaltmasıdır.
- İngilizce karakterleri sayı biçiminde temsil etmenin belirli bir yolunu belirtir.
- Bir karakterin ASCII değerini görmek için, onu int () işlevine iletiriz.
- ASCII değerinin karşılık gelen char değerini görmek için ASCII'yi bir karakter olarak tanımlarız.