C++ Örneklerle Char Veri Türü

⚡ Akıllı Özet

char veri türü C++ Bir karakter (char), harf veya rakam gibi tek bir karakteri ASCII değeriyle saklar. Burada, karakter tanımlamayı, ASCII değerlerini yazdırmayı, karakter girişi yapmayı ve bir karakteri dizeye dönüştürmeyi öğreneceksiniz.

  • 🔤 Ne olduğunu: Bir `char` değişkeni, ASCII değeri kullanılarak tek bir karakteri saklar.
  • 🔢 ASCII: Her karakter, 'A' harfinin 65 olduğu gibi, sayısal bir ASCII koduna karşılık gelir.
  • 🔧 beyanı: `char grade = 'A';` gibi tek tırnak içinde bir `char` tanımlayın.
  • 🔁 Dönüşüm: Bir karakteri ASCII değerine dönüştürmek için int türüne, sonra tekrar karaktere çevirin.
  • 🤖 Yapay zekâ yardımı: GitHub Copilot gibi yapay zeka araçları, karakter ve ASCII kodlarını anında işleyebilir.

C++ Karakter 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, American Standard'ın kısaltmasıdır. Code Bilgi alışverişi için kullanılır. İngilizce karakterlerin sayılar olarak temsil edilmesinin belirli 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ı:

Karakter Beyanı

İşte kodun ekran görüntüsü:

Karakter Beyanı

Code Açıklama:

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
  2. Sınıflarını çağırmadan kullanabilmek için kodumuza std ad alanını dahil etmek.
  3. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  4. 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.
  5. Değişken derecenin değerini konsoldaki diğer metinlerin yanında yazdırın.
  6. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  7. 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ı:

ASCII Değerini Yazdırma

İşte kodun ekran görüntüsü:

ASCII Değerini Yazdırma

Code Açıklama:

  1. Fonksiyonlarını kullanabilmek için iostream başlık dosyasını kodumuza dahil ediyoruz.
  2. Sınıflarını çağırmadan kullanabilmek için std ad alanını kodumuza dahil etmek.
  3. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  4. Ch adında bir char değişkeni bildirin.
  5. Konsola bir miktar metin yazdırın. Metin kullanıcıdan ch değişkeni için bir değer girmesini ister.
  6. Kullanıcı girişini klavyeden okuyun ve ch değişkeninde saklayın.
  7. 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.
  8. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  9. 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ı:

Karakter Değerini Yazdırma

İşte kodun ekran görüntüsü:

Karakter Değerini Yazdırma

Code Açıklama:

  1. iostream başlık dosyasını koda dahil etmek. Daha sonra fonksiyonlarını hata almadan kullanacağız.
  2. Std ad alanını koda ekleyin. Sınıflarını çağırmadan kullanacağız.
  3. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine girmelidir.
  4. Üç 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.
  5. 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.
  6. 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.
  7. 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.
  8. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  9. main() fonksiyonunun gövdesinin sonu.

Karakter Girme

Kullanıcının klavye aracılığıyla girdiği bir karakteri okumak için `std::cin` fonksiyonunu kullanabiliriz. `std::cin`, birden fazla karakter girmenize olanak tanır. Ancak, `character` değişkeni yalnızca bir karakter tutabilir. Bu, yalnızca girilen ilk karakterin okunacağı anlamına gelir.tracVerilenler karakter değişkenine kaydedilir. Geri kalanlar ise std::cin tarafından kullanılan arabellekte kalır. Örnek olarak:tract it, make subsequent calls to the std::cin.

Ö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ı:

Karakter Girme

İşte kodun ekran görüntüsü:

Karakter Girme

Code Açıklama:

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
  2. Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
  3. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  4. Konsola bir miktar metin yazdırın.
  5. Ch adında bir karakter değişkeni bildirin.
  6. 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.
  7. Girilen ilk karakterin, ASCII kodunun ve diğer metnin konsola yazdırılması. ASCII kodu, karakter değişkeninin int() fonksiyonuna iletilmesiyle belirlenir.
  8. 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.
  9. Girilen ikinci karakterin, ASCII kodunun ve diğer metnin konsola yazdırılması. ASCII kodu, karakter değişkeninin int() fonksiyonuna iletilmesiyle belirlenir.
  10. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  11. 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ı:

Karakteri String'e Dönüştürme

İşte kodun ekran görüntüsü:

Karakteri String'e Dönüştürme

Code Açıklama:

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza dahil ediyoruz.
  2. İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
  3. Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
  4. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  5. “C” karakterini 1 uzunluklu bir dizeye dönüştürün ve elde edilen dizeyi st değişkenine atayın.
  6. St dizisinin değerini diğer metinle birlikte konsola yazdırın.
  7. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  8. 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ı:

Karakteri String'e Dönüştürme

İşte kodun ekran görüntüsü:

Karakteri String'e Dönüştürme

Code Açıklama:

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
  2. İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
  3. Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
  4. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  5. St adında bir dize değişkeni oluşturun.
  6. B değerine sahip b adında bir karakter oluşturun.
  7. st adlı dizeye A değerini atayın.
  8. Karakterleri dizeye dönüştürmek için += operatörünü kullanın.
  9. St dizisinin değerini diğer metinle birlikte konsola yazdırın.
  10. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  11. 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ı:

Karakteri String'e Dönüştürme

İşte kodun ekran görüntüsü:

Karakteri String'e Dönüştürme

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
  2. İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
  3. Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
  4. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  5. St adında bir dize değişkeni oluşturun.
  6. A karakterini dizenin sonuna atayın.
  7. St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
  8. St dizisinin değerini boş olarak ayarlayın.
  9. St adlı dizeye tek bir C karakteri atayın.
  10. St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
  11. St dizisinin değerini boş olarak ayarlayın.
  12. St dizesinin içeriğini tek karakter D ile değiştirin.
  13. St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
  14. İlk dizininden st adlı dizeye tek E karakterini ekleyin.
  15. St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
  16. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  17. 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ı:

Karakteri String'e Dönüştürme

İşte kodun ekran görüntüsü:

Karakteri String'e Dönüştürme

Code Açıklama:

  1. İşlevlerini kullanmak için iostream başlık dosyasını kodumuza ekleyin.
  2. İşlevlerini kullanmak için dize başlık dosyasını kodumuza ekleyin.
  3. İşlevlerini kullanmak için sstream başlık dosyasını kodumuza ekleyin.
  4. Sınıflarını çağırmadan kullanmak için std ad alanını kodumuza ekleyin.
  5. main() fonksiyonunun çağrılması. Program mantığı bu fonksiyonun gövdesine eklenmelidir.
  6. St adında bir dize değişkeni oluşturun.
  7. Myst adında bir akış değişkeni oluşturun.
  8. A karakterini myst adlı akış nesnesine ekleyin.
  9. Akış nesnesini bir dizeye dönüştürün.
  10. St dizisinin değerini diğer metinle birlikte konsola yazdırın. Endl (bitiş çizgisi) imleci bir sonraki satıra taşır.
  11. Program başarılı bir şekilde tamamlandıktan sonra değeri döndürmelidir.
  12. Main() işlevinin gövdesinin sonu.

SSS

Char, harf, rakam veya sembol gibi tek bir karakteri depolayan bir veri türüdür. Bir bayt yer kaplar ve karakterin ASCII değerini dahili olarak saklar.

ASCII, karakterleri 0 ile 127 arasındaki sayılara eşleyen bir standarttır. C++Her karakter kendi ASCII kodunu saklar; bu nedenle 'A' 65, 'a' ise 97'dir.

`char` anahtar kelimesini ve tek tırnak içinde tek bir karakteri kullanarak bir `char` tanımlayın, örneğin `char grade = 'A';`. Tek tırnak gereklidir, çift tırnak gerekmez.

Karakteri int(ch) veya (int)ch gibi bir tamsayıya dönüştürün ve yazdırın. Bu, karakterin kendisi yerine sayısal ASCII kodunu görüntüler.

Cin'i ex ile birlikte kullanın.trac`tion` operatörü, `cin` ardından `ch` gibi tek bir karakteri okumak için kullanılır. Kullanıcının yazdığı bir sonraki boşluk olmayan karakteri saklar.

Bir `std::string`'e bir karakter atayabilir, dize oluşturucusunu kullanabilir veya `std::string s(1, ch);` gibi bir ifadeyle tek karakterlik bir dize oluşturmak için karakteri ekleyebilirsiniz.

GitHub Copilot gibi yapay zeka asistanları, yazarken karakterleri ASCII'ye dönüştürür, karakter giriş döngüleri yazar ve yaygın karakter ve dize hataları için düzeltme önerileri sunar.

Evet. Yapay zeka destekli araçlar ASCII ve büyük/küçük harf dönüştürme kodu üretir, karakterden dizeye dönüştürme işlemlerini gerçekleştirir ve tek bir karakter için çift tırnak kullanmak gibi hataları işaretler.

Bu yazıyı şu şekilde özetleyin: