CPP 005 – Karakterler

Char

Harfler, rakam, noktalama işareti gibi şeylere karakter diyoruz.

  • ‘A’ bir karakterdir.
  • ‘a’ da bir karakterdir
  • “Aaa” bir stringdir
  • Karakterleri gösterirken ‘ tek tırnak kullanıyoruz.
  • Stringleri gösterirken ” çift tırnak kullanıyoruz.
  • char kelimesiyle tanımlıyoruz.
  • Her karakterin, bir sayı karşılığı vardır. Bunu görebilmek için değişkenimizin önüne (int) koyarak char->int dönüşümünü yapıyoruz. Bunun tam tersi de mümkündür.
	char karakter = 'A';

	cout << karakter << endl; // A
	cout << (int)karakter << endl; // 65
  cout << (char)65 << endl; // A
  • Diğer karakterleri de görmek için bir döngüden yardım alabiliriz:
	// En ufak değere sahip karakterden 
	// en yüksek değere sahip olana kadar sırasıyla bas
	for (int i = CHAR_MIN; i <= CHAR_MAX; i++) 
		cout << i << "\t" << (char)i << endl;
-128    Ç
-127    ü
-126    é
-125    â
-124    ä
-123    à
-122    å
...
121     y
122     z
123     {
124     |
125     }
126     ~
127
  • for döngüsü tıpkı while döngüsü gibi bir döngüdür. While döngüsünden farklı olarak başlangıç, bitiş ve ilerleme için kullanılan ifadeleri () içine yazıyoruz. İlerde daha detaylı inceleyeceğiz.
  • Bu karakterler aslında ASCII tablosundan gelen karakterlerdir.

ASCII (İngilizce: American Standard Code for Information Interchange, Türkçe: Bilgi Değişimi İçin Amerikan Standart Kodlama Sistemi) Latin alfabesi üzerine kurulu 7 bitlik bir karakter kümesidir. İlk kez 1963 yılında ANSI tarafından standart olarak sunulmuştur.

ASCII’de 33 tane basılmayan kontrol karakteri ve 95 tane basılan karakter bulunur. Kontrol karakterleri metnin akışını kontrol eden, ekranda çıkmayan karakterlerdir. Basılan karakterler ise ekranda görünen, okuduğumuz metni oluşturan karakterlerdir. ASCII’nin basılan karakterleri aşağıda belirtilmiştir.

https://tr.wikipedia.org/wiki/ASCII
  • Karakterlerle sayılarla olduğu gibi işlem yapabiliriz.
#include <iostream> 
using namespace std;

int main(){
	char c1 = 'A';
	cout << (char)(c1 + 0) << endl;	// A
	cout << (char)(c1 + 1) << endl;	// B
	cout << (char)(c1 + 2) << endl;	// C
	cout << (char)(c1 + 3) << endl;	// D
	cout << (char)(c1 + 4) << endl;	// E	
}

Bu özelliği kullanarak bize verilmiş küçük harfli bir kelime, büyük harflerle yazılmış bir kelimeye çevirebiliriz. Ya da tam tersi.


std::string

  • std::string, karakter dizilerini temsil eden bir veri türüdür.
  • Beraberinde bir takım yardımcı fonksiyonla gelir.
#include <iostream> 
using namespace std;

int main(){
	std::string kelime = "pikachu";

	cout << kelime << endl; // pikachu
	cout << kelime.front() << endl; // p 
	cout << kelime.back() << endl;  // u

	cout << kelime.size() << endl; // 7
	cout << kelime[0] << endl; // p
	cout << kelime[1] << endl; // i
	cout << kelime[2] << endl; // k
	cout << kelime[3] << endl; // a
	cout << kelime[4] << endl; // c
	cout << kelime[5] << endl; // h
	cout << kelime[6] << endl; // u
}

Deneme Zamanı

  • ASCII
  • C string nedir?
  • std::string ile C string arasındaki fark nedir?
White abstract geometric artwork from Dresden, Germany

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *