Karakterleri Okuma
getchar ve putchar
Karakterleri Okuma, CoddyKit'te ücretsiz bir C Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C Academy kursu toplamda 4 dersten oluşur.
Tek Karakter Okuma
C, standart girdiden her seferinde bir karakter okumak için getchar(), standart çıktıya bir karakter yazmak için de putchar() sağlar.
Her ikisi de <stdio.h> içinde bulunur.
#include <stdio.h>
int main(void) {
putchar('H');
putchar('i');
putchar('\n');
return 0;
}putchar Temelleri
putchar(c), c karakterini yazar ve yazılan karakteri döndürür; hata durumunda EOF döndürür.
Tek bir bayt yazdırmanın en basit yoludur.
#include <stdio.h>
int main(void) {
for (char c = 'A'; c <= 'E'; c++) {
putchar(c);
}
putchar('\n');
return 0;
}getchar int Döndürür
getchar(), char değil, bir int döndürür. Bu önemlidir; çünkü gerçek karakterlerden farklı bir değer olan EOF değerini döndürebilmesi gerekir.
Sonucu her zaman bir int içinde saklayın.
#include <stdio.h>
int main(void) {
int c = 'A';
printf("Stored value: %d\n", c);
return 0;
}EOF Nedir
EOF, Dosya Sonu anlamına gelir. getchar(), okunacak başka girdi kalmadığında bunu döndürür.
Bu değer genellikle -1'dir. Bu nedenle getchar, onu 255 değerindeki baytla karıştırmamak için int kullanır.
#include <stdio.h>
int main(void) {
printf("EOF has value %d\n", EOF);
return 0;
}Okuma Döngüsü Kalıbı
Klasik kalıp, EOF gelene kadar karakterleri okur. Burada etkileşimli girdi olmadığından döngü hemen sona erer; ancak standart biçim budur.
- Atamayı koşulun içinde yapın.
EOFile karşılaştırın.
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
putchar(c);
}
printf("Reached end of input\n");
return 0;
}Karakterleri Sayma
Yaygın görevlerden biri, kaç karakter okunduğunu saymaktır. Okuma döngüsünün içinde bir sayacı artırın.
#include <stdio.h>
int main(void) {
int c;
long count = 0;
while ((c = getchar()) != EOF) {
count++;
}
printf("Read %ld characters\n", count);
return 0;
}Büyük Harfle Yankılama
Her karakteri yazmadan önce dönüştürebilirsiniz. Burada okunan her karakter toupper kullanılarak büyük harfe dönüştürülür.
#include <stdio.h>
#include <ctype.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
putchar(toupper(c));
}
return 0;
}Satırları Sayma
Satır sonu karakterlerini saymak, kaç satır okunduğunu gösterir. Her karakteri '\n' ile sınayın.
#include <stdio.h>
int main(void) {
int c;
int lines = 0;
while ((c = getchar()) != EOF) {
if (c == '\n') lines++;
}
printf("Lines: %d\n", lines);
return 0;
}Bir char'ı Geri Koyma
ungetc(c, stdin), bir karakteri girdi akışına geri koyar; böylece sonraki okuma onu yeniden döndürür.
Tarama sırasında bir karakter fazla okuduğunuzda bu işlev kullanışlıdır.
#include <stdio.h>
int main(void) {
ungetc('X', stdin);
int c = getchar();
printf("Got back: %c\n", c);
return 0;
}getchar ve scanf Karşılaştırması
getchar size bayt düzeyinde hassas denetim sunarken, scanf biçimlendirilmiş girdiyi ayrıştırır.
Süzgeçler ve belirteç oluşturucular gibi karakter karakter işleme için doğru araç getchar'dır.
#include <stdio.h>
int main(void) {
int c = '5';
if (c >= '0' && c <= '9') {
printf("It is a digit: %c\n", c);
}
return 0;
}Basit Bir Süzgeç İskeleti
Süzgeçler girdiden okur, dönüştürür ve çıktıya yazar. Bu iskelet, girdi akışındaki tüm boşlukları kaldırır.
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
if (c != ' ') {
putchar(c);
}
}
return 0;
}Hızlı Kontrol
Karakter okuma konusundaki anlayışınızı sınayın.
Özet
Karakterleri okumayı ve yazmayı öğrendiniz:
getchar()bir karakter okur ve birintdöndürür.putchar(c)bir karakter yazar.EOFgirdinin sonunu belirtir;while ((c = getchar()) != EOF)döngüsünü kullanın.ungetcbir karakteri akışa geri koyabilir.
Sıkça Sorulan Sorular
“Karakterleri Okuma” dersi ücretsiz mi?
Evet — “Karakterleri Okuma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C Academy kursu toplamda 4 dersten oluşur.
“Karakterleri Okuma” dersinde ne öğreneceğim?
getchar ve putchar C Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Karakterleri Okuma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tamsayı Olarak Karakterler
- ctype Kitaplığı
- Karakterleri Okuma
- Karakter Yardımcıları Oluşturma