Anasayfa Bilgisayar Programlama C ++

-

Karakter İşleme

Sosyal Ağ Paylaşımı :                                


6.   Karakter işleme

     Birçok program sayıların yanı sıra metinler üzerine işlem yapar. İlk akla gelen bir kelime işlem programıdır. Bu tür bir programda metinlerle ilgili olarak, araya karakter girme, silme, değiştirme ve arama gibi işlemler tanımlıdır. C dilindeki char tipi bu tür verilerin saklanması için kullanılır.

6.1 Tanımlamalar ve Kullanım

karakter: Bilgisayarda tanımlı herhangi bir karakteri gösterir. Karakter sabitler tek tırnak içinde belirtilir.
                   'A', '0'
     '\65'     :   \ işaretinin ardından belirtilen ASCII kodlu karakter
     C dili karakterleri ayrıca int değer gibi de görür. 'A' karakteri sayısal olarak A harfinin ASCII           tablosundaki karşılığı olan 65 olarakta yorumlanabilir.

dizgi (string): Bir dizi karakterden oluşur. '\0' karakteri dizginin sonunu gösterir.Dizgi sabitler çift tırnak içinde gösterilir.
     "ALİ",   "Bir sayı girin"

      Bu idafede dil \0 karakterini otomatik koyar.


Karakter ile dizgi birbirinden farklı şeylerdir. Dizginin sonunda herzaman \0 karakteri vardır.
'A' ile "A" birbirinin aynısı değildir. 'A' karakterini gösteren 65 değerinde bellekte int olarak salanırken "A" ise bir dizgi olup A ve \0 karakterlerini içerir.


Tanımlama biçimi:

1. Dizi şeklinde tanımlama

char a[7] = {'K','O',,'C','A','E','L','İ'};
char a[8] = "KOCAELİ";           /* Son eleman olrak \0 karakteri eklendiği için eleman sayısını bir fazla belirtmeli */                         2. İşaretçi olarak tanımlama

char *değişken;

char *a;     


Doğrudan Değer Atama

char a[20];
char *b;

a[0] = 'A';    /* dizinin bir elemanına değer verir gibi ve tek tırnak içinde ( karakter sabiti) */
            \0 karakteri ayrıca belirtilmelidir.

Dizi biçiminde tanımlı dizgiye sabir bir dizgi atarma için strcpy işlevi kullanılır.

strcpy(char *hedef, const char *kaynak);   kaynak bilgisini hedef değişkenine kopyalar (string.h)
                                                                Hedef dizgisinde kaynak dizgisini içerecek kadar yer olmalıdır.
strcpy(a, "ALİ");

b = "ALİ";   /* çift tırnak içinde atanacak değer . \0 karakteri otomatik eklenir */

Değerini Yazdırma

printf("%s", a);
puts(a);           sonu \0 ile biten karakter dizisini ekrana yazar ve imleçi alt satıra geçirir        ( stdio.h )

Klavyeden Değer Atama

scanf("%s", a);          /* Boşluk karakterine kadar okuma yapacağı için içerisinde bu karakterin geçmesi olası                                                        girişlerde doğru çalışmaz. Adres operatörü kullanılmıyor */

gets(a) ;           Satır sonu karakterine kadar (ENTER tuşu) basılan karakterleri okur ( stdio.h )


Karakter Dizisinin Herhangi Bir Karakterine Erişme

Dizilerde olduğu gibi erişilmek istenen karakterin indisi bildirilir.

a[2] = 'G';    b[2] = 'G';
a[4] = '\0';   
printf("%c ", b[3]);            /* b'nin 4. elemanını yazar */

Örnek 6.1.1 : Girilen bir metnin uzunluğunu veren programı yazınız.

#include <stdio.h>
main()
{
char *s;
int i;
gets(s);
i = 0;                                                                       for (i=0; s!='\0'; i++)
while (s!='\0')                                                             {}                            /* boş işlem */
    i++;

printf("Uzunluk %d \n", i);
}

strlen ( char *) : Gönderilen değerin uzunluğunu verir. (string.h)

Konuya Ait Yorumlar

Şu an yorum yazılmamış!..

Yorum Gönder




Güvenlik Kodu

IP Adresiniz : 38.107.179.208

İlginizi Çekebilecek Konular
Başlık
Ekleyen

Son Eklenen Yorumlar

ersin şimşek - 1 Yorum

üstat süpersin, proje hazırlıyorum ve bir türlü paneldeki sı...

Admin - 1 Yorum

Tabiki yazarsanız gerekli güncellemeyi yaparız. İlginize Teş...

yusuf dinçer - 1 Yorum

öncelikle teşekkür ederim işime yaradı ama basit hatalar var...

Gökhan - 1 Yorum

paylaşımın için saol , gördüğüm kadarı ile Sorun var , bir b...

Bölümün En İyi Üyeleri

ogniela
40 yaşında, Akrep burcu.
Puanı: 24600

deryadeniz79
45 yaşında, Aslan burcu.
Puanı: 16680

cicceekk
39 yaşında, Aslan burcu.
Puanı: 11800

afflicted_
38 yaşında, YENGEÇ burcu.
Puanı: 7760

safir
38 yaşında, Kova burcu.
Puanı: 4920

Mail Listemize Katılın

E-Posta listemize katılarak Samanalevi Netkafe gelişmelerinden haberdar edilin.

*bilgilerinizin gizli tutulacağından emin olabilirsiniz.


rockstar
Reklam Alanı

Sizde Paylaşın

Şiirlerinizi, duygularınızı, anılarınızı, hobi ilgi alanı yada yemek tariflerinizi paylaşın.

writte

Edebiyat, düşünce ve duyguların, söz ya da yazı halinde güzel ve etkili bir şekilde anlatılması sanatıdır. Samanalevi Netkafe'de anlatmak istemezmisiniz?

Benide Ekle

Samanalevi Netkafe Hakkında

aboutTürkiye'nin samimi paylaşım ortamıdır Samanalevi Netkafe. Sitemize üye olarak kendinize/şairlerimize ait şiirleri, sosyal bilimler kategorilerinde konuları, yemek tariflerini, kaliteli slayt gösterileri, resimler ve videolar gibi her kategoride paylaşımda bulunabilirsiniz.
YAZIM KURALLARI
Şiirler Teknoloji Yemek

Sponsor Linkler