Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bölüm 8 - Karakterler ve Dizgiler

Benzer bir sunumlar


... konulu sunumlar: "Bölüm 8 - Karakterler ve Dizgiler"— Sunum transkripti:

1 Bölüm 8 - Karakterler ve Dizgiler
İndex 8.1 Giriş 8.2 Dizgiler ve Karakterlerin kuralları 8.3 Karakter İşleme Kütüphanesi 8.4 Dizgi Değiştirme Fonksiyonları 8.5 Standart Input/Output Kütüphane Fonksiyonları 8.6 Dizgi işleme Kütüphanesinin Dizgi işletme Fonksiyonları 8.7 Dizgi 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 Bu Bölümde Öğreneceklerimiz:
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 Bazı Standart Kütüphane Fonksiyonları tanıma
8.1 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 8.2 Dizgiler ve Karakterler Kuralları
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 8.2 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 8.3 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 <ctype.h>

7 8.3 karakter işleme Kütüphane

8 fig08_02.c (Part 1 of 2)

9 fig08_02.c (Part 2 of 2)

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 Program Output

11 fig08_03.c (Part 1 of 2)

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 fig08_04.c (Part 1 of 2)

14 fig08_04.c (Part 2 of 2)

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 Program Output

16 8.4 Dizgi Değiştirme Fonksiyonlar
In<stdlib.h> (Standart Kütüphanesi) Sayıların Dizgilerini tamsayi ve virgüllü sayı değerlerine çevirme

17 fig 08_06.c Program Output Dizgi "99.0“, 99.000 olarak tutulur
Tutulan değerin 2’ye bölümü

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 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 fig08_09.c Program Output "51.2% kabul edilir" Dizgisi double deger ve "% kabul edilir“ Dizgisine dönüstürülmüstür

21 fig08_10.c Program Output Orjinal dizgi "-1234567abc" dir
Dönüstürülen değer dir Orjinal dizginin kalanı "abc“ dir Dönüstürülen değer artı dir

22 fig08_11.c Program Output Orjinal dizgi "-1234567abc" dir
Dönüstürülen değer dir Orjinal dizginin kalanı "abc“ dir Dönüstürülen değer artı dir

23 8.5 Standard Input/Output Kütüphane Fonksiyonları
<stdio.h> Fonksiyonları karakter ve veri dizgisi kullanma

24 fig08_13.c (Part 1 of 2)

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ı

26 fig8_14.c

27 Bir metin girin: Bu bir denemedir. Girilen metin: Program Output

28 fig08_15.c Program Output bir (int) ve (double) sayi girin :
s dizisinde tutulan biçimlendirilmiş cıktı: : İnt : 298 double:

29 fig08_16.c Program Output s karakter dizisinde tutulan değerler :
int : 31298 double:

30 8.6 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 fig08_18.c Program Output x dizisindeki Dizgi: Mutlu yıllar
y dizisindeki Dizgi : Mutlu yıllar z dizisindeki Dizgi : Mutlu yıllar

32 fig08_19.c

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 Program Output

34 8.7 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 negatif sayıyı, s1 == s2 ise sıfır veya 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 fig08_21.c

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 Program Output

37 8.8 Dizgi işleme Kütüphanesinin Arama Fonksiyonları

38 fig08_23.c (Part 1 of 2)

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 fig08_24.c Program Output string1 = deger 3.14159 dir
string1’in baslangıc uzunlugu string2 den hiçbir karakter icermemektedir = 13

41 fig08_25.c Program Output “sakımak“icindeki karakterlerden m
“bu bir metindir” ’de görülen ilk karakterdir

42 fig08_26.c Program Output The remainder of string1 beginning with the
last occurrence of karakter 'z' is: "zebras"

43 fig08_27.c Program Output string1 = The value is 3.14159
string2 = aehi lsTuv string1’in baslangıc uzunlugu string2 den sadece = 13 karakter icermektedir

44 fig08_28.c Program Output string1 = abcdefabcdef string2 = def
string1’in kalanı string2’nin ilk olusumu ile baslıyor : defabcdef

45 fig08_29.c

46 Program Output Dizginin belirtgeci :
Bu 7 belirtke ile birlesmis bir cumledir belirtkeler: Bu 7 belirtke ile birleşmiş bir cumledir Program Output

47 8.9 Dizgi- işleme Kütüphanesinin Hafıza Fonksiyonları
<stdlib.h> 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 8.9 Dizgi işleme Kütüphanesinin Hafıza Fonksiyonları

49 fig08_31.c Program Output After s2 is copied into s1 with memcpy,
s1 contains "Copy this Dizgi"

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 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 Fig8_34.c Program Output ‘g‘ karakterinden sonra s den kalan “gidir“

53 8.10 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 fig08_35.c Program Output string1 = BBBBBBBBBBBBBB
memset’ten sonra string1 = bbbbbbbBBBBBBB

55 fig08_37.c Program Output No such file or directory

56 fig08_38.c Program Output "abcdefghijklmnopqrstuvwxyz" ’in uzunlugu 26
"four“ ’in uzunlugu 4 "Boston" ’in uzunlugu 6


"Bölüm 8 - Karakterler ve Dizgiler" indir ppt

Benzer bir sunumlar


Google Reklamları