3 Kasım 2015 Salı

 23:44      No comments

C Programlama 


scanf() Fonksiyonu : Programların çalışma esnasında veri girişine ihtiyaç duyabilirler. Kullanıcıların girdiği verileri işleyip değerlendirmemize yarayan fonksiyonlarda giriş fonksiyonları adı verilir. Örneğin printf fonksiyonu nasıl verinin ekrana yazdırılmasını sağlayan bir çıkış fonksiyonu ise scanf de printf fonksiyonunuda bunun tam tersi olarak düşünebiliriz.

Resimde görüldüğü gibi scanf fonksiyonunun ilk parametresi bir karakter disidir. Bu parametre kullanıcıdan hangi veri girişlerinden kaç tane beklendiğini derleyiciye anlatır. %d ifadesi bizden bir tamsayı istendiğini belirtirken, %d %f %d ifadesi sırasıyla bir tamsayı, bir ondalık sayı ve bir tamsayı olmak üzere üç adet değer istendiğini ifade eder. scanf fonksiyonunun sonraki parametreleri ise değerlerin depolanacağı değişkenlerin bellek adresleri olmalıdır.

Örnek scanf Fonksiyonu 
#include <stdio.h>

int main(int argc, char** argv)
{
    int s1,s2;
    printf("2 adet sayi girisi yapiniz:");
    scanf("%d %d", &s1, &s2);
    printf("girilen sayilar:%d ve %d", s1,s2);
    return 0;
}
Programın Çıktısı

Örnekte scanf ile iki tamsayı alınmış ve alınan değerler prinf ile ekrana yazdırılmıştır.Fonksiyonun ilk parametresinde %d %d ile kullanıcıdan arada boşluk bırakılarak iki adet tam sayı girilmesi istenmiştir.İkinci ve üçüncü parametrelerde ise değerlerin tutulacağı bellek adresleri s1,s2 olarak belirlenmiştir. Bir değişkenin hemen önüne & işareti geldiğinde o değişken bellek adresini referans göstermektedir. Bunun nedeni scanf fonksiyonu bir giriş fonksiyonu olması nedeniyle değişkenlerin değerleriyle değil bellek adreslerini kullanacak şekilde tasarlanmış olmasıdır. Bu durum diziler için geçerli değildir! Çünkü dizi (string) türünden değişkenlerde dizinin adı zaten o dizinin ilk elemanının bellek adresini gösterir. Böylelikle dizi türünden değişkenlerde & işareti kullanımına gerek yoktur.

Örnek scanf Fonksiyonu 
#include <stdio.h>

int main(int argc, char** argv)
{
    char marka[30];
    printf("Lutfen monitorunuzun markasini giriniz:");
    // scanf("%s", &marka); Bu sekilde kullanim hatalidir//
    scanf("%s", marka); //Bu sekilde kullanim dogrudur//
    printf("Monitorunuzun markasi %s", marka);
    return 0;
}

Programın Çıktısı
  
Örnek scanf Fonksiyonu 
#include <stdio.h>

void main (void)
{
int s1;
double s2;
float s3;
char isim[20], web[30];
printf("Lutfen integer bir deger giriniz:");
scanf("%d", &s1);
printf("Girilen integer deger %d dir.\n\n", s1);

printf("Lutfen double bir deger giriniz:");
scanf("%lf", &s2);
printf("Girilen double deger %g idi\n\n", s2);

printf("Lutfen integer ve bir float deger giriniz:");
scanf("%d %f", &s1, &s3);
printf("Girilen degerler %d ve %f idi.\n", s1,s3);

printf("isminizi giriniz:");
scanf("%s", &isim);
printf("web adresinizi giriniz: ");
scanf("%s", &web);
printf("Girilen isim: %s\n", isim);
printf("Girilen web adresi:%s\n", web);

system("pause");
return(0);
}

Programın Çıktısı

0 yorum:

Yorum Gönder

Programlama Temelleri

Ödev1: Günlük Hayatta Karşımıza Çıkan

Bir Sorunun Çözümünde İzlenecek En Az 10

En Fazla 20 Adımlık Bir Algoritma Yazınız?

8,9,10,11,12. Soruların Algoritmasını Yazınız?

Ödev2: İlk 10 Soruyu A4 Kağıdına Yazarak Getiriniz.

Ödev3: İlk 15 Soruyu A4 Kağıdına Yazarak Getiriniz.

Hava Durumu

GIRESUN
Blogger tarafından desteklenmektedir.