CodeBlanks Logo Icon CodeBlanks

Özet - Giriş/Çıkış

  • C kursu
  • Başlangıç
  • Ders 35/116
  • 5 dk

printf, scanf ve getchar'ı birleştirerek etkileşimli bir menü yazarsın.

Özet - Giriş/Çıkış

Bu bölümde printf, scanf, getchar, putchar, puts ve fputs'u öğrendin. Şimdi bunları bir etkileşimli menüde birleştireceğiz.

Menü önce kullanıcıya bir seçenek sunar (printf), girdiyi alır (scanf), bir harf daha okur (getchar) ve sonucu yazdırır (printf). Tek bir program içinde farklı I/O araçlarını birlikte kullanmak C'de yaygındır.

Uygulama Adını al ve selamla

Bir C programı yaz. char name[32]; ve int age; tanımla. printf ile bir istem yazdır. scanf("%31s", name); ile adı oku (adres gerektirmez çünkü dizi). printf ile başka bir istem yazdır, scanf("%d", &age); ile yaşını oku. Son olarak printf ile %s ve %d belirteçlerini kullanarak selamla. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // name ve age tanımla, girdileri al ve selamla
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    char name[32];
    int age;
    printf("Adın: ");
    scanf("%31s", name);
    printf("Yaşın: ");
    scanf("%d", &age);
    printf("Merhaba %s, %d yaşındasın!\n", name, age);
    return 0;
}

Beklenen çıktı

Adın: Yaşın: Merhaba Ayşe, 25 yaşındasın!

Uygulama Karakteri büyük harfe çevir

Bir C programı yaz. int c; tanımla. printf ile bir istem yazdır. c = getchar(); ile bir karakter oku. Eğer c >= 'a' && c <= 'z' ise c = c - 'a' + 'A'; ile büyük harfe çevir. putchar(c); ve putchar('\n'); ile yazdır. #include <stdio.h> başta olsun.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    // c tanımla, getchar ile oku, büyük harfe çevir, putchar ile yaz
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    int c;
    printf("Harf: ");
    c = getchar();
    if (c >= 'a' && c <= 'z') {
        c = c - 'a' + 'A';
    }
    putchar(c);
    putchar('\n');
    return 0;
}

Beklenen çıktı

Harf: A

Soru ve cevaplar

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

1 Etkileşimli menü hangi sırayla çalışır?

main.c
printf("Seçim: ");
scanf("%d", &n);
  • Yazdır, sonra sessizce biter
  • Yalnızca girdi alır
  • Girdi al, sonra istem yaz
  • İstem yaz, girdi al, sonucu yaz Doğru cevap

Açıklama: Menü önce ister, sonra alır, sonra yazar.

2 Adı oku

Soru
char name[32];
printf("Adın: ");
scanf("____", name);
Cevap
char name[32];
printf("Adın: ");
scanf("%31s", name);

Açıklama: %31s 31 karaktere kadar dize okur.

3 I/O fonksiyonlarını eşleştir

Kavram Anlamı
printf Biçimli çıktı
scanf Biçimli girdi
getchar Tek karakter okur
puts Dize + satır

Başlangıç bölümündeki tüm dersler