📓
Temel C Programlama
  • Temel C Programlama Dersleri -1- Giriş
  • Temel C Programlama -2- Bilgisayar Mimarisi Temelleri
  • Temel C Programlama -3- Bilgisayar Yazılımı Temelleri
  • Temel C Programlama -4- Programlama Dilleri
  • Temel C Programlama -5- Makine Dili, Assembly Dili ve Yüksek Seviye Diller
  • Temel C Programlama -6- C Diline Giriş
  • Temel C Programlama -7- C Geliştirme Aşamaları ve Derleyici Kurulumu
  • Temel C Programlama -8- İlk Program
  • Temel C Programlama -9- Basit Program Örnekleri – 1
  • Temel C Programlama -10- Basit Program Örnekleri – 2
  • Temel C Programlama -11- Aritmetik Operatörler
  • Temel C Programlama -12- C Veri ve Değişken Tipleri
  • Temel C Programlama -13- C Veri ve Değişken Tipleri – 2
  • Temel C Programlama -14- Döngülere Giriş
  • Temel C Programlama -15- İlişki Operatörleri
  • Temel C Programlama -16- For Döngüsü
  • Temel C Programlama -17- While Döngüsü
  • Temel C Programlama -18- do while Döngüsü
  • Temel C Programlama -19- Kararlar ve If Karar Yapısı
  • Temel C Programlama -20- Else ve Else If Yapıları
  • Temel C Programlama -21- Switch Karar Yapısı, break ve continue
  • Temel C Programlama -22- Mantık Operatörleri, Birleşik Operatörler ve Operatör Önceliği
  • Temel C Programlama -23- Fonksiyonlara Giriş
  • Temel C Programlama -24- Basit Fonksiyonlar
  • Temel C Programlama -25- Değer Alan Fonksiyonlar, Sabitler, Önek ve Sonekler
  • Temel C Programlama -26- Fonksiyondan Değer Döndürmek
  • Temel C Programlama -27- Diğer Fonksiyon Konuları ve Recursive Fonksiyonlar
  • Temel C Programlama -28- Diziler
  • Temel C Programlama -29- Diziler -2-
  • Temel C Programlama -30- İşaretçilere Giriş
  • Temel C Programlama -31- İşaretçiler
  • Temel C Programlama -32- Çift İşaretçiler
  • Temel C Programlama -33- İşaretçileri Referans Olarak Aktarmak
  • Temel C Programlama -34- İşaretçi Aritmetiği
  • Temel C Programlama -35- İşaretçiler ve Diziler
  • Temel C Programlama -36- İşaretçi ve Değer Sabitleri
  • Temel C Programlama -37- Fonksiyon İşaretçileri
  • Temel C Programlama -38- Karakterler ve Karakter Dizilerine Giriş
  • Temel C Programlama -39- Karakter Dizileri (String)
  • Temel C Programlama -40- ctype.h Başlık Dosyası ile Karakter İşlemleri
  • Temel C Programlama -41- string.h Başlık Dosyası ile Karakter Dizisi İşlemleri
  • Temel C Programlama -42- stdlib.h ve stdio.h Başlık Dosyaları ile Karakter Dizisi İşlemleri
  • Temel C Programlama -43- Formatlı Giriş ve Çıkış
  • Temel C Programlama -44- Yapılar
  • Temel C Programlama -45- Yapı Uygulamaları ,typedef ve union (birlikler)
  • Temel C Programlama -46- Bit Manipülasyonu ve Bitwise Operatörleri
  • Temel C Programlama -47- Bit Bazlı Uygulamalar (Set, Reset, Toggle)
  • Temel C Programlama -48- Bit Alanları ve Enümeratörler
  • Temel C Programlama -49- Dosya İşlemleri ve fopen() fonksiyonu
  • Temel C Programlama -50- fprintf() ve fclose() ile En Basit Dosya Uygulaması
  • Temel C Programlama -51- Dosya İşaretçisi ve feof() Fonksiyonu
  • Temel C Programlama -52- Dosya Uygulamaları
  • Temel C Programlama -53- Ön İşlemci Komutları (Preprocessor)
  • Temel C Programlama -54- Sonsöz
Powered by GitBook
On this page

Was this helpful?

Temel C Programlama -40- ctype.h Başlık Dosyası ile Karakter İşlemleri

PreviousTemel C Programlama -39- Karakter Dizileri (String)NextTemel C Programlama -41- string.h Başlık Dosyası ile Karakter Dizisi İşlemleri

Last updated 5 years ago

Was this helpful?

Artık karakter dizilerini anlattığımıza göre bunlar üzerinde nasıl çalışabileceğimizi göreceğiz. Bunun için bol bol kütüphane fonksiyonu kullanmamız gerekecektir. Hatta bazı kütüphane fonksiyonları bizim için hayati bir öneme sahiptir ve onlar olmadan bazı noktalarda tıkanıp kalabiliriz. Örneğin bir veri iletişiminde tam sayı tipindeki bir değeri karakter dizisine çevirmemiz gerekebilir veya karakter dizisini üzerinde aritmetik işlem yapabilmeniz için tam sayı değere çevirmeniz gerekebilir. Unutmayın, “10” değeri ile 10 değeri aynı değildir siz örneğin bir seri iletişim uygulamasında bunu “10” diye alsanız da üzerinde işlem yapmak için tam sayıya çevirmeniz gerekecektir.

Bunun için C dilinde standart kütüphanenin içerisinde karakterler ve karakter dizileriyle alakalı fonksiyonlar gelmektedir. Karakter dizileri üzerinde çalışırken içli dışlı olacağımız kütüphane dosyalarını baştan belirtelim:

  • sdio.h

  • stdlib.h

  • ctype.h

  • string.h

Bizim bundan sonra anlatacağımız konular bu başlık dosyalarında yer alan fonksiyonları size öğretme yönünde olacak. Fakat siz program yazarken referanstan sürekli bu başlık dosyalarına bakmalı ve içindeki fonksiyonları sentaksa uygun olarak yazdığınıza emin olmalısınız. Kimse ezberden program yazmıyor. Bu tarz kütüphane dosyaları kullanılırken muhakkak kütüphanenin referans kılavuzuna bakmamız gerekiyor. Sizin burada öğrenmeniz gereken hangi iş için hangi fonksiyonun kullanılacağı, bu fonksiyonların neler yapabildiği, elimizde ne tarz araçlar olduğudur. Çünkü bu fonksiyonlardan bazılarını ayda belki yılda bir kere kullanmanız gerekebilir. Bu durumda işiniz düştüğünde bunun nerede olduğunu bilmeniz sizin için yeterli olacaktır.

Karakter İşlem Kütüphanesi (ctype.h)

C dilinin standart kütüphanesinde ctype.h adında bir başlık dosyası yer almaktadır. Bu başlık dosyasının özelliği bünyesinde sadece karakter işlem fonksiyonlarını bulundurmasıdır. Sadece karakterler üzerinde işlem yapabilse de karakter dizilerinin karakterlerden meydana geldiğini unutmayınız. Yani bir döngü yardımıyla bütün bir karakter dizisi üzerinde teker teker işlem yapabiliriz. Bu fonksiyonlar dilin çekirdek yapısına ait fonksiyonlar değildir. O yüzden standart kütüphane içerisinde zikredilmektedir. C dili kendi haliyle tamamen çıplak bir dildir ve herhangi bir ek fonksiyon, kütüphane veya sınıf içermez. Ekrana yazı yazdırmak için bile bir kütüphane fonksiyonu kullandığımızı daha önceden anlatmıştık. ctype kütüphanesini kullanabilmek için öncelikle #include ile ana programa dahil etmemiz gerekir.

#include <ctype.h>

Bundan sonrası kütüphane fonksiyonlarına bakmak ve ihtiyaç halinde bu fonksiyonları kullanmaktır. Fonksiyonları akıllıca kullanmak ise tamamen size bağlıdır. Hangi fonksiyonu nerede, hangi yöntem için kullanacağınızı referansa bakarak öğrenseniz de bunu doğru yerde kullanabilmek yine size bağlıdır. Şimdi ctype.h başlık dosyasında yer alan fonksiyonların işlevlerine kısaca bakalım. Bunun için ben şu bağlantıda yer alan referans sayfasını açıyorum ve fonksiyonlara bakıyorum. Kimse ezberden bunları yazamaz!.

ctype.h fonksiyonları

ctype.h kütüphane dosyasında yer alan kütüphane fonksiyonları şu şekildedir.

isalnum

Karakterin alfanümerik olup olmadığını denetler.

isalpha

Karakterin harf olup olmadığını denetler.

isblank

Karakterin boşluk olup olmadığını denetler.

iscntrl

Karakterin kontrol karakteri olup olmadığını denetler.

isdigit

Karakterin rakam olup olmadığını denetler.

isgraph

Karakterin grafik temsili olup olmadığını denetler.

islower

Karakterin küçük olup olmadığını denetler.

isprint

Karakterin yazdırılabilir olup olmadığını denetler.

ispunct

Karakterin noktalama işareti olup olmadığını denetler.

isspace

Karakterin beyaz boşluk olup olmadığını denetler.

isupper

Karakterin büyük olup olmadığını denetler

isxdigit

Karakterin on altılık bir rakam olup olmadığını denetler.

tolower

Karakter büyükse küçük yapar.

toupper

Karakter küçükse büyük yapar.

Görüldüğü gibi fonksiyonların işlevi gayet basittir. Bu fonksiyonları metin işlemede gerektiği zaman kullanmanız gerekecektir. Örnek vermek adına basit bir örnek yazıyorum.

#include <stdio.h>
#include <ctype.h>

main()
{
    char c = 'a';
    if (islower(c))
    puts("c adli degisken kucuk harftir");
    else
    puts("c adli degisken buyuk harftir");
}

Program çalışınca ekran görüntüsü şu şekilde olacaktır.

Siz de lazım olduğu zaman ctype.h kütüphane dosyasındaki fonksiyonları referansa bakarak kullanabilirsiniz. Ben C referansı yazmadığım ve temel C programlama eğitimi verdiğim için referans sayfalarını nasıl okuyacağınızı öğretmek istiyorum. Bunu C standartından da okuyabilirsiniz. Standartlar programlama dilleri için birinci elden kaynaktır. Biz daha pratik olan referanslardan ctype.h içindeki isalnum fonksiyonuna bakalım.

Her dil referansında veya kütüphane kılavuzunda belli başlı ögelerin olduğunu görürüz. Bunlardan ilki fonksiyon prototipi adını verdiğimiz fonksiyonun iskeletidir. Bu prototip ile fonksiyonu nasıl kullanacağınız belli olur. Fonksiyon adı ne işe yaradığına dair bir ipucu olsa da bu prototipte yer alan argümanların adı da yine aldığı değerlerin ne olduğuna dair bir ipucu olacaktır. Fakat bu prototipe bakarak fonksiyonun ne işe yaradığını öğrenemezsiniz. Burada öğreneceğiniz şey fonksiyonunun döndürdüğü değer, aldığı argüman sayısı, sırası ve tipi ve fonksiyon adıdır. Bu sayede düzgün bir sözdizimi ile fonksiyonu kullanabilirsiniz.

Açıklama kısmında ise (bazı kaynaklarda description diye başlık konur.) fonksiyonun ne işe yaradığı açıklanır. Kaynaklar programcılara yönelik yazıldığından uzun uzadıya fonsiyon mantığı, nasıl kullanacağınız, örnek kod gibi şeylerle açıklanmaz. Genelde fonksiyonun ne işe yaradığı bir veya iki cümle ile açıklanır ve geçilir. Eğitim içeriklerinde bu daha ayrıntılı açıklanmaktadır.

Parametreler ise fonksiyonun aldığı argümanların açıklamasıdır. Fonksiyonun açıklaması ne işe yaradığı yönünde parametreler de argümanların ne olması gerektiği yönündedir. Bu açıklama sayesinde fonksiyonun kaynak kodunu alıp incelemek zorunda kalmazsınız.

Return value ise fonksiyonun döndürdüğü değerdir ve dokümentasyonda en son olarak bu açıklanır. Eğer gerek duyulursa bazı kaynaklarda beraberinde örnek kodla gelebilir. Ama genelde örnek kod olmadan bunları okuyup fonksiyonu sorunsuzca kullanabilmeniz gerekir.

Unutmayın, Bunları okuyup fonksiyonu kullanamıyorsanız programcı olamazsınız!!!

http://www.cplusplus.com/reference/cctype/