Ö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
#include <stdio.h>
int main(void) {
// name ve age tanımla, girdileri al ve selamla
return 0;
}Örnek çözüm
#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
#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
#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?
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
char name[32];
printf("Adın: ");
scanf("____", name);
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 |