C++ Örneklerle Char Veri Türü
Char nedir?
Char bir C++ Harflerin depolanması için tasarlanmış veri türü. Char, alfanümerik bir karakterin kısaltmasıdır. Değerin bir tam sayı olarak depolandığı anlamına gelen bir integral veri türüdür. Bir char, 1 baytlık bir bellek boyutu alır. Ayrıca tek bir karakteri depolar.
ASCII nedir?
Char değeri bir ASCII karakteri olarak yorumlanır. Bu, Boolean değerlerinin doğru veya yanlış olarak yorumlanmasına benzer. ASCII, Amerikan Bilgi Değişimi Standart Kodunun kısaltmasıdır. İngilizce karakterleri sayı olarak temsil etmenin özel bir yolunu tanımlar.
Sayılar 0 ile 127 arasında değişir. Örneğin, 'a' karakteri ASCII kodu 97'ye eşdeğerdir.
Karakter Beyanı
beyan etmek karakter değişkeni C++char anahtar sözcüğünü kullanırız. 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
İşte char bildiriminin sözdizimi C++:
char variable-name;
Değişken adı, değişkene atanacak addır.
Bildirim sırasında bir değer atanacaksa şu 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:
#include <iostream> using namespace std; int main() { char grade = 'B'; cout << "I scored a: "<<grade; return 0; }
Çıktı:
İşte kodun ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
- Sınıflarını çağırmadan kullanabilmek için kodumuza std ad alanını dahil etmek.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- Grade adında bir karakter değişkeni bildirin. Değişkene aynı zamanda B değeri de atanmıştır. Değişkenin değerinin tek tırnak içine alındığına dikkat edin.
- Değişken derecenin değerini konsoldaki diğer metinlerin yanında yazdırın.
- Program başarılı bir şekilde tamamlandıktan sonra değeri 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() fonksiyonuna iletmeniz yeterlidir. Bu işleme tip döküm denir. Bunu gösterelim:
Örnek 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; }
Çıktı:
İşte kodun ekran görüntüsü:
Kod Açıklaması:
- Fonksiyonlarını kullanabilmek için iostream başlık dosyasını kodumuza dahil ediyoruz.
- Sınıflarını çağırmadan kullanabilmek için std ad alanını kodumuza dahil etmek.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- Ch adında bir char değişkeni bildirin.
- Konsola bir miktar 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 ch değişkeninde saklayın.
- Konsola bir miktar 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ıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
Karakter Değerini Yazdırma
ASCII değeri verildiğinde, C++ derleyici karşılık gelen karakteri döndürebilir. Bir char değişkeni bildirir ve ona bir tam sayı değeri atarsınız. İlgili karakter değerine dönüştürülecektir.
Örnek 3:
#include <iostream> using namespace std; int main() { char x = 64, y = 66, z = 71; cout << x; cout << y; cout << z; return 0; }
Çıktı:
İşte kodun ekran görüntüsü:
Kod Açıklaması:
- iostream başlık dosyasını koda dahil etmek. Daha sonra fonksiyonlarını hata almadan kullanacağız.
- Std ad alanını koda ekleyin. Sınıflarını çağırmadan kullanacağız.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine girmelidir.
- Üç karakter değişkeni x, y ve z bildirin. Üçüne 65, 66 ve 67 tamsayı değerleri atanmıştır. Bunlar, karakterler için ASCII değerleri olarak ele alınacaktır.
- 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ülecektir.
- Y değişkeninin değerini konsola yazdırın. Y bir karakter olarak bildirildiği için ASCII değeri 66 olan karakter yani B döndürülecektir.
- 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ülecektir.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- main() fonksiyonunun gövdesinin sonu.
Karakter Girme
Kullanıcının klavyeden girdiği bir karakteri okumak için std::cin fonksiyonunu kullanabiliriz. std::cin birçok karakter girmenize izin verecektir. Ancak, character değişkeni yalnızca bir karakter tutabilir. Bu, yalnızca girilen ilk karakterin çıkarılıp character değişkeninde saklanacağı anlamına gelir. Gerisi std::cin tarafından kullanılan tamponda kalacaktır. Çıkarmak için std::cin'e sonraki çağrıları yapın.
Örnek 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; }
Çıktı:
İşte kodun ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- Konsola bir miktar metin yazdırın.
- Ch adında bir karakter değişkeni bildirin.
- Kullanıcı girişini klavyeden okuyun. Giriş ch değişkeninde saklanacaktır. Kullanıcı abc gibi bir karakter dizisi yazacağından, ch değişkeninde yalnızca ilk karakter olan a saklanacaktır.
- Girilen ilk karakterin, ASCII kodunun ve diğer metnin konsola yazdırılması. ASCII kodu, karakter değişkeninin int() fonksiyonuna iletilmesiyle belirlenir.
- Kullanıcı tarafından girilen bir sonraki karakteri okuyun. Kullanıcının yeni bir karakter girmesi gerekmeyecektir. Bunun yerine girilen ikinci karakteri, yani b'yi okuyacaktır.
- Girilen ikinci karakterin, ASCII kodunun ve diğer metnin konsola yazdırılması. ASCII kodu, karakter değişkeninin int() fonksiyonuna iletilmesiyle belirlenir.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
Karakteri String'e Dönüştürme
Karakterleri dönüştürmek için kullanabileceğimiz çeşitli yollar vardır. dizeleri.
Onları tartışalım:
#1: String Sınıfı tarafından verilen Yapıcıyı Kullanmak
Bu, aşağıdaki sözdizimini kullanarak yapılabilir:
string st(int n,char x);
n parametresi, oluşturulacak dizenin boyutunu belirtir.
X parametresi dizeye dönüştürülecek karakterdir.
İşlev bir dize döndürür.
Örnek 5:
#include<iostream> #include <string> using namespace std; int main() { string st(1, 'C'); cout << "The resulting string is : " << st; return 0; }
Çıktı:
İşte kodun ekran görüntüsü:
Kod Açıklaması:
- İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
- İş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 ekleyin.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- “C” karakterini 1 uzunluklu bir dizeye dönüştürün ve elde edilen dizeyi st değişkenine atayın.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
#2) std::string'i kullanmak Operators = ve +=
= ve += operatörleri zaten karakterlerle aşırı yüklenmiştir. İkisi belirli bir karakteri bir dizeye dönüştürmek için kullanılabilir.
Örnek 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; }
Çıktı:
İşte kodun 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 ekleyin.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- B değerine sahip b adında bir karakter oluşturun.
- st adlı dizeye A değerini atayın.
- Karakterleri dizeye dönüştürmek için += operatörünü kullanın.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
#3: std::string Yöntemlerini Kullanmak
std::string sınıfı, karakterleri dizelere dönüştürmenize yardımcı olabilecek birçok aşırı yüklenmiş işlevle birlikte gelir.
Bunlar:
- Geri itmek Bu fonksiyon bir dizenin sonuna belirli bir karakter atar. Karakterler için aşırı yüklenir. Aşağıdaki sözdizimini alır:
void push_back(char ch)
Ch parametresi bir dizgeye dönüştürülecek karakterdir.
- eklemek Belirli bir karakterin birçok kopyasını bir dizgeye atar. Fonksiyon aşağıdaki sözdizimini alır:
string& append(size_t n,char ch)
n parametresi karakterin ekleneceği süreleri belirtir.
Ch parametresi dizeye eklenecek karakterdir.
- atamak Bu fonksiyon, dizenin geçerli 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 kopya sayısını belirtir.
Ch parametresi dizeye kopyalanacak karakterdir.
- eklemek Ekleme 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 kopya sayısını belirtir.
Ch parametresi dizeye eklenecek karakterdir.
Örnek 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; }
Çıktı:
İşte kodun 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 ekleyin.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- A karakterini dizenin sonuna atayın.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
- St dizisinin değerini boş olarak ayarlayın.
- St adlı dizeye tek bir C karakteri atayın.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
- St dizisinin değerini boş olarak ayarlayın.
- St dizesinin içeriğini tek karakter D ile değiştirin.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
- İlk dizininden st adlı dizeye tek E karakterini ekleyin.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
#4: std::stringstream kullanımı
Karakteri bir dizeye dönüştürmek amacıyla bu sınıfı kullanmak için, karakteri akışa ekleyin.
Dizeye yazılacaklar.
Örnek 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; }
Çıktı:
İşte kodun 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 ekleyin.
- Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
- main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
- St adında bir dize değişkeni oluşturun.
- Myst adında bir akış değişkeni oluşturun.
- A karakterini myst adlı akış nesnesine ekleyin.
- Akış nesnesini bir dizeye dönüştürün.
- St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
- Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
- Main() işlevinin gövdesinin sonu.
ÖZET
- Bir karakter bir C++ Harflerin saklanması için kullanılan veri türü.
- C++ Char bir integral veri türüdür, yani değer bir tamsayı olarak saklanır.
- 1 byte'lık hafıza alanı kaplar.
- C++ Char yalnızca tek karakteri saklar.
- Char değerleri ASCII karakterleri olarak yorumlanır.
- ASCII, Amerikan Bilgi Değişimi Standart Kodunun kısaltmasıdır.
- İngilizce karakterleri sayı biçiminde temsil etmenin özel bir yolunu belirtir.
- Bir karakterin ASCII değerini görmek için onu int() fonksiyonuna aktarırız.
- ASCII değerinin karşılık gelen char değerini görebilmek için ASCII'yi karakter olarak tanımlıyoruz.