Bölüm 8 - Karakterler ve Dizgiler

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama
Advertisements

el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Yrd. Doç. Dr. Mustafa Akkol
STRİNG FONKSİYONLARI.
Prof.Dr.Şaban EREN Yasar Üniversitesi Fen-Edebiyat Fakültesi
Değişkenler ve bellek Değişkenler
DOĞAL SAYILAR.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
KİŞİSEL KAMP MALZEMEN Kamp malzemelerini şu ana başlıklar altında düşünebilirsin. Uyku malzemesi Yemek malzemesi Temizlik malzemesi Zorluklara karşı hazır.
Atlayarak Sayalım Birer sayalım
Bölüm 2 C Dilinin Temelleri
BEIER CÜMLE TAMAMLAMA TESTİ
Diferansiyel Denklemler
ÖRNEKLEME DAĞILIŞLARI VE TAHMİNLEYİCİLERİN ÖZELLİKLERİ
Tanım ANSI C dizgisi (string) bir karakter dizisidir (array of characters) Örnek dizgi tanımları: #define UYARI_DIZGISI “Veri giris hatasi” #define DIZGI_BOYU.
Atama ve Girdi/Çıktı Komutları
BEIER CÜMLE TAMAMLAMA TESTİ
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
HİSTOGRAM OLUŞTURMA VE YORUMLAMA
Soruya geri dön
Prof. Dr. Leyla Küçükahmet
MÜRŞİT BEKTAŞ 1-A SINIFI
CAN Özel Güvenlik Eğt. Hizmetleri canozelguvenlik.com.tr.
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
String ve Karakterlerin Temelleri
Bölüm 3 – Yapısal Programlama
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
ARALARINDA ASAL SAYILAR
Gün Kitabın Adı ve Yazarı Okuduğu sayfa sayısı
TÜRKİYE KAMU HASTANELERİ KURUMU
İL KOORDİNASYON KURULU I.NCİ DÖNEM TOPLANTISI
Matematik 2 Örüntü Alıştırmaları.
MATRİSLER ve DETERMİNANTLAR
Tam sayılarda bölme ve çarpma işlemi
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
HABTEKUS' HABTEKUS'08 3.
C ile Programlamaya Giriş
4 X x X X X
Mukavemet II Strength of Materials II
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Nesne.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Gelişmiş Envanter Uygulaması.
Yard. Doç. Dr. Mustafa Akkol
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Fonksiyonlar –Programı modüler hale getirir –Yerel değişkenler,
Strateji Geliştirme Başkanlığı 1 DÜNYA EKONOMİSİ REEL SEKTÖR.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bu derste şunları öğreneceğiz: –CheckBox es kullanımı.
Bölüm 6 - Diziler indeks 6.1 Giriş 6.2 Diziler
Bölüm 7 - Göstericiler İndeks 7.1 Giriş
1 DEĞİŞMEYİN !!!
Test : 2 Konu: Çarpanlar ve Katlar
Algoritma & Programlama
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 6 - Diziler indeks 6.1Giriş 6.2Diziler 6.3Dizilerin.
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
HAYAT BİLGİSİ SORULARI.
ÇOK DEĞİŞKENLİ FONKSİYONLARDA
Temel Giriş/Çıkış Fonksiyonları
Proje Konuları.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 9 – Araba Ödeme Hesaplaması Uygulaması Bu.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
STRING‘LER Karakter Kütüphanesi Fonksiyonları
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Sunum transkripti:

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ı

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.

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

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

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

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>

8.3 karakter işleme Kütüphane

fig08_02.c (Part 1 of 2)

fig08_02.c (Part 2 of 2)

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

fig08_03.c (Part 1 of 2)

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ü

fig08_04.c (Part 1 of 2)

fig08_04.c (Part 2 of 2)

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

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

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

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

fig08_08.c Program Output “1000000" dizgisi long’a 1000000 olarak dönüstürüldü dönüstürülen degerin 2’ye bölümü 500000

fig08_09.c Program Output "51.2% kabul edilir" Dizgisi double deger 51.20 ve "% kabul edilir“ Dizgisine dönüstürülmüstür

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

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

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

fig08_13.c (Part 1 of 2)

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ı

fig8_14.c

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

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

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

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

fig08_18.c Program Output x dizisindeki Dizgi: Mutlu yıllar y dizisindeki Dizgi : Mutlu yıllar z dizisindeki Dizgi : Mutlu yıllar

fig08_19.c

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

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.

fig08_21.c

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

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

fig08_23.c (Part 1 of 2)

fig08_23.c (Part 2 of 2) Program Output “bu bir metindir“ icesinde ‘i’ karakteri bulundu. “bu bir metindir“ icesinde ‘z’ karakteri bulunamadı.

fig08_24.c Program Output string1 = deger 3.14159 dir string1’in baslangıc uzunlugu string2 den hiçbir karakter icermemektedir = 13

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

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

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

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

fig08_29.c

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

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

8.9 Dizgi işleme Kütüphanesinin Hafıza Fonksiyonları

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

fig08_32.c Program Output Memmove ‘dan önce x dizisindeki Dizgi: Home Sweet Home Memmove ‘dan sonra x dizisindeki Dizgi : Sweet Home Home

fig08_33.c Program Output s1 = ABCDEFG s2 = ABCDXYZ   memcmp( s1, s2, 4 ) = 0 memcmp( s1, s2, 7 ) = -1 memcmp( s2, s1, 7 ) = 1

Fig8_34.c Program Output ‘g‘ karakterinden sonra s den kalan “gidir“

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

fig08_35.c Program Output string1 = BBBBBBBBBBBBBB memset’ten sonra string1 = bbbbbbbBBBBBBB

fig08_37.c Program Output No such file or directory

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