CodeBlanks Logo Icon CodeBlanks

ctype.h

  • C kursu
  • Orta seviye
  • Ders 86/116
  • 5 dk

ctype.h ile karakter sınıflandırma öğrenirsin.

ctype.h

<ctype.h> başlığı karakter sınıflandırma ve dönüşüm işlevleri sunar: isalpha (harf mi), isdigit (rakam mı), toupper (büyük harfe çevir) ve tolower (küçük harfe çevir).

Bu işlevler bir int alır (bir char'ın sayısal değeri) ve bir int döndürür. isalpha('A') doğru (sıfırdan farklı), isdigit('5') doğru, isdigit('a') yanlış (0). toupper('a') 'A' döndürür; zaten büyük harfse aynı kalır. tolower tersini yapar. Türkçe karakterlerde bu işlevler Yerel (locale) ayarına bağlıdır; varsayılan C yerelinde yalnızca ASCII harfler çalışır. Dizgiyi büyük harfe çevirmek için bir döngü içinde her karaktere toupper uygularız.

Dizgiyi büyütme

Bir dizginin tüm harflerini büyük harfe çevirmek için bir döngü kurar ve her karaktere toupper uygularız. Döngü, null karaktere gelene kadar devam eder.

Tanım: char s[] = "merhaba"; for (int i = 0; s[i]; i++) s[i] = toupper(s[i]);. Burada s[i] koşulu, s[i] null (0) olduğunda döngüyü durdurur. Her adımda toupper harfi büyütür ve geri yazar. Sonuç: MERHABA. Bu teknik metin normalleştirme için yaygındır; örneğin kullanıcı girdisini büyük harfle karşılaştırmak isterseniz önce büyütürsün. tolower ile aynı yöntem küçük harf için kullanılır. Karakter dizilerini yerinde (in-place) değiştirmek, bellek tasarrufu sağlar.

Uygulama Dizgiyi büyüt

main'de char s[] = "merhaba";. for (int i = 0; s[i]; i++) döngüsünde s[i] = toupper(s[i]);. Döngüden sonra printf("%s\n", s);.

Başlangıç kodu

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

// main: char s[] = "merhaba";
// for döngüsüyle her harfi toupper ile büyüt
// printf ile yazdır

int main(void) {
    // buraya yaz
    return 0;
}

Örnek çözüm

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

int main(void) {
    char s[] = "merhaba";
    for (int i = 0; s[i]; i++) {
        s[i] = toupper(s[i]);
    }
    printf("%s\n", s);
    return 0;
}

Beklenen çıktı

MERHABA

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 ctype işlevleri

Kavram Anlamı
isalpha harf mi
isdigit rakam mı
toupper büyük harf yap
tolower küçük harf yap

2 Büyük harfe çevir

Soru
s[i] = ____(s[i]);
Cevap
s[i] = toupper(s[i]);

Açıklama: toupper harfi büyük harfe çevirir.

3 toupper('a') ne döndürür?

  • 0
  • 'a'
  • 'A' Doğru cevap
  • 1

Açıklama: toupper küçük harfi büyük harfe çevirir.

Orta seviye bölümündeki tüm dersler