Posts Tagged ‘ Kullanıcının Girdiği İki Sayının Dört İşlemi ’

6- C PROGRAMLAMAYA GİRİŞ: TEMEL GİRDİ ÇIKTI İŞLEMLERİ VE DEĞİŞKENLER 2

Değişken nedir ve nasıl tanımlanır?

Değişkenler bellekte bilginin saklandığı yerlere verilen sembolik adlardır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren bir tipi vardır. C dilinde temelde birkaç tane değişken tipi vardır. Bunlar;

Değişken Tipi Açıklama Bellekte kapladığı yer (byte)
char Tek bir karekter için kullanılır 1
int Tamsayı için kullanılır 2 yada 4
float Virgüllü sayılar için kullanılır 2 yada 4
double Çift sayılar için kullanılır 4 yada 8

Değişken tanımlama, gelecek veya girilecek verilerin ne olduğuna bağlı olarak, değişken tipinin belirlenmesidir. Eğer değişkenimize tam sayı bir değer atamak istiyorsak, bu değişkeni int, karakter için char ve virgüllü sayı için float olarak tanıtmalıyız.

Örnek;

Değişken ismi Değişken tipi Tanıtımı
ismi char char ismi[ ];
sayi-1 int int sayi_1;
ortalama float float ortalama;

Fakat bazı özel niteleyiciler vardır ki bunlar yukarıdaki temel tiplerin önüne gelerek onların çeşitlerini oluşturur. Bunlar short, long, unsigned dır. Bu niteleyiciler sayesinde değişkenin bellekte kaplayacağı alan isteğe göre değiştirilebilir. Kısa (short), uzun (long), ve normal (int) tamsayı arasında yalnızca uzunluk farkı vardır. Eğer normal tamsayı 16 bit ise uzun tamsayı 32 bit uzunluğundadır.

Örneklerle değişken tanımları:

#include<stdio.h>
int main( )
{
    int a;
    a = 100;
    printf("a sayisi= %d",a);
    return 0;
}

Programımızı inceliyelim.

int a; a değişkenini tam sayı olarak tanıtıyoruz.

a = 100; a sayısına 100 değerini atıyoruz.

printf(“a sayisi= %d”,a); %d ile ekranda bir tamsayı görünmesi gerektiğini programa söylüyoruz. Çift tırnaktan sonra gelen ,a ise %d yerinde ekranda görünmesini istediğimiz değeri belirtiyoruz. Burada dikkatli olunması gereken konu % ile atadığımız karakter tiplerinin sıralamasıyla, çift tırnaktan sonra almasını istediğimiz değerlerin sıralamasının aynı olması. Aşağıdaki iki örneği derleyip çalıştırdığımızda sanırım daha iyi kavramış olucaz.

Örnek1:
#include<stdio.h>
int main( )
{
    int sayi1;
    int sayi2;

    sayi1 = 100;
    sayi2 = 25;

    printf("sayi1= %d ve sayi2=%d ",sayi1, sayi2);
    return 0;
}

Programı çalıştırdığımızda sayi1=100 ve sayi2=25 şeklinde bir görüntüyle karşılaşacağız.

Örnek2:
#include<stdio.h>
int main( )
{
    int sayi1;
    int sayi2;

    sayi1 = 100;
    sayi2 = 25;

    printf("sayi1= %d ve sayi2=%d ",sayi2, sayi1);
    return 0;
}

Programı çalıştırdığımızda sayi1=25 ve sayi2=100 görüntüsüyle karşılaşacağız. Oysa birinci örnekte istediğimiz değerleri tam olarak ekrana yansıtırken, ikinci örnekte tırnaktan sonraki tanımlamalar yer değiştirdiği için istediğimiz değerleri vermemiş olucaktır.

Örnek 3:
#include<stdio.h>
//basit toplama işlemi
int main( )
{
    int a;
    int b;
    int toplam;

    a = 100;
    b = 20;
    toplam = a + b;

    printf("a sayisi= %d ve b sayisi= %d, Toplami= %d.\n", a, b, toplam);
    return 0;
}

Ekran çıktısı a sayisi=100 ve b sayisi=20, Toplami=120 şeklinde olacaktır. Dikkat edilirse a,b ve toplam diye 3 tane tam sayı değişkeni tanıttık. Çift tırnağı kapatarak ekranda görülmesini istediğimiz sırada değişkenlerimizi sıraladık. Her bir değişkeni ayrı satırlarda tanıtabileceğimiz gibi, aynı cins değişkenleri int a, b, toplam; şeklinde bir satırda da tanıtabilirdik.

Aşağıda C programlamada kullanırken oluşturduğumuz karakter ve bazı operatörler gösterilmektedir.

Aritmetik oparatörler
Operatör Açıklama Örnek Anlamı
+ Toplama a+b a ve b nin toplamı
Çıkartma a-b a ve b nin farkı
* Çarpma a*b a ve b nin çarpımı
/ Bölme a/b a nın b ye bölümü
% Modülü a%b a /b den kalan sayı
Kontrol Karakterleri
Karakter Anlamı
\a Ses üretir(alert)
\b imleci bir sola kaydır(backspace)
\f Sayfa atla. Bir sonraki sayfanın başına geç(formfeed)
\n Bir alt satıra geç(newline)
\r Satır başı yap(carriage return)
\t Yatay TAB(Horizontal TAB)
\v Dikey TAB(vertical TAB)
\” Çift tırnak karakterini ekrana yaz
\’ Tek tırnak karakterini ekrana yaz
\\ \ karakterini ekrana yaz
%% % karakterini ekrana yaz
Karakter Tipleri
Karakter Tipi Anlamı Tip
%c tek bir karakter char
%d işaretli ondalık tamsayı int, short
%ld uzun işaretli ondalık tamsayı long
%u işaretsiz ondalık tamsayı unsigned int, unsigned short
%f Gerçel sayı float, double
%s karakter dizisi (string) char
%lu işaretsiz uzun tamsayı unsigned long
#include<stdio.h>
int main()
{
    char isim[20], soyad[20], kan_grubu[5];

    printf("Lutfen adinizi yaziniz > ");
    scanf("%s",&isim);

    printf("Lutfen soyadinizi yaziniz > ");
    scanf("%s",&soyad);

    printf("Lutfen kan grubunuzu bitisik yaziniz > ");
    scanf("%s",&kan_grubu);

    printf("\nAdiniz: %s",isim);
    printf("\nSoyadiniz: %s",soyad);
    printf("\nKan grubunuz: %s\n\n",kan_grubu);

    return 0;
}

Yukardaki örnekte kullanıcıdan bir takım verilerin girilmesi istenmektedir. Kullanıcıdan veri girişini scanf fonksiyonu ile sağlamaktayız. Bu fonksiyon printf fonksiyonu ile benzerlik göstermektedir. Şimdi programımızı inceleyelim:

char isim[20], soyad[20], kan_grubu[5]; isim, soyad ve kan_grubu değişkenlerini karakter olarak tanıttık. İsim için 19, soyad için 19 ve kan grubu için 5 karakterin, değişkenlerimiz tarafından kaydedileceğini tanıttık. 20 karakter tanıtımı yapıldığı zaman kullanıcı 19 karakter girmektedir. Çünkü bu 19 karakterin sonunda program null girerek 20 ye tamamlamış oluyor.

printf(“Lutfen adinizi yaziniz > “); ekranda lütfen adınızı yazınız çıktısını bize sağladı.

scanf(“%s”,&isim); kullanıcıdan bir giriş istedi. Bu giriş %s ile karakter olarak tanınmasını sağlarken &isim , %s ile yapılan girişin isim değişkenine kaydedilmesini sağladı.

En sonunda printf fonksiyonu ile ekrandan çıktı almamızı sağlamış oluyoruz.

Aşağıdaki çeşitli örnekleri inceliyerek scanf kullanımı hakkında bilgi sahibi olabilirsiniz.

ÖRNEK: 
#include<stdio.h>
//kullanıcının girdiği iki sayının dört işlemi
int main()
{
    float   a, b, ort;

    printf("Bir tam sayi girin :");
    scanf("%f",&a);

    printf("\nBir tam sayi daha girin :");
    scanf("%f",&b);

    printf("\nToplam :%f",a+b);
    printf("\nFarki :%f",a-b);
    printf("\nBolumu :%f",a/b);
    printf("\nCarpimi :%f",a*b);
    printf("\nOrtalamasi :%f\n",(a+b)/2);

    getchar();

    return 0;
}
 ÖRNEK: 
#include<stdio.h>
//Kullanıcının girdiği dört sayının ortalaması
int main()
{
    float   sayi1, sayi2, sayi3, sayi4, ortalama;

    printf("Birinci sayiyi giriniz :");
    scanf("%f",&sayi1);

    printf("Ikinci sayiyi giriniz :");
    scanf("%f",&sayi2);

    printf("Ucuncu sayiyi giriniz :");
    scanf("%f",&sayi3);

    printf("Dorduncu sayiyi giriniz");
    scanf("%f",&sayi4);

    ortalama = (sayi1+sayi2+sayi3+sayi4) /4;
    printf("Ortalama Sonucu :%f",ortalama);

    return 0;
}
 ÖRNEK: #include <stdlib.h>//system pause ifadesi için
#include <stdio.h>//printf fonksiyonu için lazım
//Sayısal değerleri ekrana yazdırmak için printf fonksiyonunun kullanımı.
int main()
{
    int   a = 2,    b = 10,   c = 50; //Tam

    float f = 1.05, g = 25.5, h = -0.1, yuzde;

    printf("3 tamsayi       : %d %d %d\n", a, b, c);
    printf("3 tamsayi [TAB] : %d \t%d \t%d\n", a, b, c);
    printf("\n");
    printf("3 reel sayi (yanyana) : %f %f %f\n", f, g, h);
    printf("3 reel sayi (altalta) : \n%f\n%f\n%f\n\n", f, g, h);
    yuzde = 220 * 25/100.0;
    printf("220 nin %%25 i %f dir\n", yuzde);
    printf("%f/%f isleminin sonucu = %f\n", g, f, g / f);
    printf("\nprogram sonunda beep sesi cikar...\a");

    getchar();
    system ("PAUSE");

    return 0;
}
 ÖRNEK: #include <stdio.h>//printf fonksiyonu için lazım
//kenarları verilen dikdörtgenin alan ve çevre hesabı
int main()
{
    int en, boy, cevre, alan;

    printf("En uzunlugunu girin \t>");
    scanf("%d",&en);

    printf("\nBoy uzunlugunu girin    >");
    scanf("%d",&boy);

    cevre= 2 * (en+boy);
    alan= en*boy;

    printf("\nDikdortgenin Cevresi    : %d\n",cevre);
    printf("Dikdortgenin Alani  \t: %d\n",alan);

    printf("\nprogram sonunda beep sesi cikar...\a");
    return 0;
}