Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

© Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 1 Bölüm 8 - Karakterler ve Dizgiler İndex 8.1Giriş 8.2Dizgiler.

Benzer bir sunumlar


... konulu sunumlar: "© Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 1 Bölüm 8 - Karakterler ve Dizgiler İndex 8.1Giriş 8.2Dizgiler."— Sunum transkripti:

1 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 1 Bölüm 8 - Karakterler ve Dizgiler İndex 8.1Giriş 8.2Dizgiler ve Karakterlerin kuralları 8.3Karakter İşleme Kütüphanesi 8.4Dizgi Değiştirme Fonksiyonları 8.5Standart Input/Output Kütüphane Fonksiyonları 8.6Dizgi işleme Kütüphanesinin Dizgi işletme Fonksiyonları 8.7Dizgi Karşılaştırma Fonksiyonları 8.8 Dizgi işleme Kütüphanesinin Arama Fonksiyonları 8.9 Dizgi işleme Kütüphanesinin Hafıza Fonksiyonları 8.10 Dizgi işleme Kütüphanesinin Diğer Fonksiyonları

2 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 2 Amaçlar Bu Bölümde Öğreneceklerimiz: –Karakter işleme Kütüphanesinin Fonksiyonlarını kullanabilmek ( ctype). –Standart giriş/çıkış Kütüphanesinin ( stdio) Dizgi ve karakter input/output Fonksiyonlarını kullanabilmek –Standart Kütüphanesinin ( stdlib) Dizgi Değiştirme Fonksiyonlarını kullanabilmek –Dizgi işleme Kütüphanesinin ( Dizgi/String) Dizgi işlem Fonksiyonlarını kullanabilmek –Fonksiyon kütüphanelerinin gücünü yazılımların tekrar kullanılabilmesi olarak anlayabilme.

3 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Giriş Bazı Standart Kütüphane Fonksiyonları tanıma –KolayDizgi ve karakter işlemleri –Programlar Karakterleri, Dizgileri, metinleri, ve Hafıza bloklarını işleyebilirler Bu teknikler –Kelime işlemcileri –Sayfa planı yazılımları –Dizgicilik programları için kullanılırlar

4 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgiler ve Karakterler Kuralları Karakterler –Program bloklarını inşa etme Her program anlamlı Karakter gruplarının birbiri ardına gelmesidir –karakter sabiti Bir int değeri tek tırnak içerisinde karakter olarak referans edilir 'z', z’ nin (int) tamsayı değerini temsil eder Dizgiler –Karakterlerin serileri tek birim olarak ele alınır Harfleri, sayıları ve özel Karakterleri (*, /, $) içerebilir –Dizgi gerçeği /literatürü (Dizgi sabiti) – çift tırnak içerisinde yazılır “Merhaba" –Dizgiler Karakterlerin dizileridir Dizgi, ilk karakteri gösteren bir göstergeçtir Dizginin değeri ilk karakterin adresidir

5 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Kurallar of Dizgiler ve Karakterler Dizgi Tanımlamaları –Define as bir karakter dizisi veya bir char * tipinin değişkeni olarak tanımlama char color[] = “mavi"; char *colorPtr = “mavi”; –Dizgilerin, sonu '\0' ile iten karakter dizileri olarak temsil edildiğini hatırlayın color 5 elemana sahiptir Dizgilere Giriş yapma –Scanf kullanımı scanf("%s", word); Kopyaları word[] içerisine yerleştirir & ihtiyaç yoktur (çünkü bir Dizgi bir göstergeçtir) –'\0‘ için dizideki yerini terk etmesini hatırlayın

6 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved karakter işleme Kütüphane Karakter işleme Kütüphanesi –Faydalı testleri ve karakter verilerinin kullanımlarını uygulamak için Fonksiyonlar içerir –Her Fonksiyon, bir karakter (bir int ) veya EOF argüman olarak içerir Bir sonraki slayt bütün fonksiyonların bir tablosunu içeriyor

7 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved karakter işleme Kütüphane

8 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 8 fig08_02.c (Part 1 of 2)

9 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 9 fig08_02.c (Part 2 of 2)

10 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 10 Program Output isdigit’e göre: 8, sayisidir #, sayisi değildir isalpha ’e göre : A, harfidir b, harfidir &, harfi değildir 4, harfi değildir isalnum ’e göre : A, sayi veya harfdir 8, sayi veya harfdir #, sayi veya harfi değildir isxdigit ’e göre : F, hexadecimal sayidir J, hexadecimal sayi değildir 7, hexadecimal sayidir $, hexadecimal sayi değildir f, hexadecimal sayidir

11 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 11 fig08_03.c (Part 1 of 2)

12 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 12 fig08_03.c (Part 2 of 2) Program Output Islower ‘e göre: p küçük harftir P küçük harf değildir 5 küçük harf değildir ! küçük harf değildir isupper ‘e göre : D büyük harftir d büyük harf değildir 8 büyük harf değildir $ büyük harf değildir U, büyük harf U’ya dönüştürüldü 7, büyük harf 7’ye dönüştürüldü $, büyük harf $’a dönüştürüldü L, küçük harf l’ye dönüştürüldü

13 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 13 fig08_04.c (Part 1 of 2)

14 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 14 fig08_04.c (Part 2 of 2)

15 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 15 Program Output Isspace’e göre: Yeni satir bir beyaz-bosluk karakteridir yatay tab is a beyaz-bosluk karakter % is not a beyaz-bosluk karakter Iscntrl’e göre: yeni satir kontrol karakterdir $ kontrol karakteri değildir Ispunct’e göre: ; noktalı virgül karakteridir Y noktalı virgül karakter değildir # noktalı virgül karakter değildir Isprint’e göre: $ baski karakterdir Alert baski karakteri değildir Isgraph’e göre: Q boşluk karakterinden farklı baski karakteri Space boşluk karakterinden farklı baski karakteri değildir

16 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi Değiştirme Fonksiyonlar Değiştirme Fonksiyonlar –In (Standart Kütüphanesi) Sayıların Dizgilerini tamsayi ve virgüllü sayı değerlerine çevirme

17 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 17 fig 08_06.c Program Output Dizgi "99.0“, olarak tutulur Tutulan değerin 2’ye bölümü

18 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 18 fig08_07.c Program Output 2593 dizgisi (int) tamsayisina 2593’e dönüstürüldü dönüstürülen deger eksi 593 esittir 2000

19 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 19 fig08_08.c Program Output “ " dizgisi long’a olarak dönüstürüldü dönüstürülen degerin 2’ye bölümü

20 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 20 fig08_09.c Program Output "51.2% kabul edilir" Dizgisi double deger ve "% kabul edilir“ Dizgisine dönüstürülmüstür

21 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 21 fig08_10.c Program Output Orjinal dizgi " abc" dir Dönüstürülen değer dir Orjinal dizginin kalanı "abc“ dir Dönüstürülen değer artı dir

22 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 22 fig08_11.c Program Output Orjinal dizgi " abc" dir Dönüstürülen değer dir Orjinal dizginin kalanı "abc“ dir Dönüstürülen değer artı dir

23 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Standard Input/Output Kütüphane Fonksiyonları Fonksiyonları karakter ve veri dizgisi kullanma

24 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 24 fig08_13.c (Part 1 of 2)

25 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 25 fig08_13.c (Part 1 of 2) Program Output Bir metin girin: Karakterler ve Dizgiler Metnin tersten yazılımı: religziD ev relretkaraK Bir metin girin : able was I ere I saw elba Metnin tersten yazılımı able was I ere I saw elba

26 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 26 fig8_14.c

27 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 27 Program Output Bir metin girin: Bu bir denemedir. Girilen metin: Bu bir denemedir.

28 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 28 fig08_15.c Program Output bir (int) ve (double) sayi girin : s dizisinde tutulan biçimlendirilmiş cıktı: : İnt : 298 double: 87.38

29 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 29 fig08_16.c Program Output s karakter dizisinde tutulan değerler : int : double:

30 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi işleme Kütüphanesinin Dizgi Elde etme Fonksiyonları Dizgi işleme Kütüphane şu Fonksiyonlara sahiptir –Veri Dizgisi elde etme –Arama Dizgileri –Dizgiyi mantıklı parçalara bölmek –Dizgi boyu tanımlama

31 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 31 fig08_18.c Program Output x dizisindeki Dizgi: Mutlu yıllar y dizisindeki Dizgi : Mutlu yıllar z dizisindeki Dizgi : Mutlu yıllar

32 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 32 fig08_19.c

33 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 33 Program Output s1 = Mutlu s2 = yeni yıllar strcat( s1, s2 ) = Mutlu yeni yıllar strncat( s3, s1, 6 ) = Mutlu strcat( s3, s1 ) = Mutlu Mutlu yeni yıllar

34 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi işleme Kütüphanesinin Karşılaştırma Fonksiyonlar Karşılaştırma Dizgileri –Bilgisayar Dizgi içindeki Karakterlerin sayısal ASCII kodlarını karşılaştırır –Bölüm D karakter kodlarının bir listesine sahiptir int strcmp( const char *s1, const char *s2 ); –s1 Dizgisini s2 ile karşılaştırır –Eğer s1 s2 ise bir pozitif sayıyı geriye döndürür int strncmp( const char *s1, const char *s2, size_t n ); –s1 ile s2 Dizginin n Karakterlerine kadar karşılaştırır –Geriye yukarıdaki gibi değer döndürür.

35 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 35 fig08_21.c

36 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 36 Program Output s1 = Mutlu yeni yıllar s2 = Mutlu yeni yıllar s3 = Mutlu tatiller strcmp(s1, s2) = 0 strcmp(s1, s3) = 1 strcmp(s3, s1) = -1 strncmp(s1, s3, 6) = 0 strncmp(s1, s3, 7) = 1 strncmp(s3, s1, 7) = -1

37 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi işleme Kütüphanesinin Arama Fonksiyonları

38 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 38 fig08_23.c (Part 1 of 2)

39 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 39 fig08_23.c (Part 2 of 2) Program Output “bu bir metindir“ icesinde ‘i’ karakteri bulundu. “bu bir metindir“ icesinde ‘z’ karakteri bulunamadı.

40 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 40 fig08_24.c Program Output string1 = deger dir string2 = string1’in baslangıc uzunlugu string2 den hiçbir karakter icermemektedir = 13

41 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 41 fig08_25.c Program Output “sakımak“icindeki karakterlerden m “bu bir metindir” ’de görülen ilk karakterdir

42 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 42 fig08_26.c Program Output The remainder of string1 beginning with the last occurrence of karakter 'z' is: "zebras"

43 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 43 fig08_27.c Program Output string1 = The value is string2 = aehi lsTuv string1’in baslangıc uzunlugu string2 den sadece = 13 karakter icermektedir

44 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 44 fig08_28.c Program Output string1 = abcdefabcdef string2 = def string1’in kalanı string2’nin ilk olusumu ile baslıyor : defabcdef

45 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 45 fig08_29.c

46 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 46 Program Output Dizginin belirtgeci : Bu 7 belirtke ile birlesmis bir cumledir belirtkeler: Bu 7 belirtke ile birleşmiş bir cumledir

47 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi- işleme Kütüphanesinin Hafıza Fonksiyonları Hafıza Fonksiyonları – içinde –İşleme, karşılaştırma, ve Hafıza’nın Arama blokları –Herhangi veri bloklarını işleyebilir Gösterici parametreleri void * dir –Any pointer can be assigned to ve vice versa –Herhangi bir gösterici void * ve tam tersi olarak atanabilir –void * cannot be dereferenced Her Fonksiyon işlemciye bit (Karakterler) sayıları belirtilmiş bir argümanı alır

48 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi işleme Kütüphanesinin Hafıza Fonksiyonları

49 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 49 fig08_31.c Program Output After s2 is copied into s1 with memcpy, s1 contains "Copy this Dizgi"

50 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 50 fig08_32.c Program Output Memmove ‘dan önce x dizisindeki Dizgi: Home Sweet Home Memmove ‘dan sonra x dizisindeki Dizgi : Sweet Home Home

51 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 51 fig08_33.c Program Output s1 = ABCDEFG s2 = ABCDXYZ memcmp( s1, s2, 4 ) = 0 memcmp( s1, s2, 7 ) = -1 memcmp( s2, s1, 7 ) = 1

52 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 52 Fig8_34.c Program Output ‘g‘ karakterinden sonra s den kalan “gidir“

53 © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved Dizgi işleme Kütüphanesinin Diğer Fonksiyonları char *strerror( int errornum ); –errornum temelli hata mesajına bağlı bir sistem oluşturur. –Dizgiye bir gösterici döndürür size_t strlen( const char *s ); –Dizgisi içerisindeki Karakterlerin ( NULL dan önce ) sayısını geriye döndürür

54 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 54 fig08_35.c Program Output string1 = BBBBBBBBBBBBBB memset’ten sonra string1 = bbbbbbbBBBBBBB

55 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 55 fig08_37.c Program Output No such file or directory

56 İndex © Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 56 fig08_38.c Program Output "abcdefghijklmnopqrstuvwxyz" ’in uzunlugu 26 "four“ ’in uzunlugu 4 "Boston" ’in uzunlugu 6


"© Copyright 1992–2004 by Deitel & Associates, Inc. ve Pearson Education Inc. All Rights Reserved. 1 Bölüm 8 - Karakterler ve Dizgiler İndex 8.1Giriş 8.2Dizgiler." indir ppt

Benzer bir sunumlar


Google Reklamları